EZ5 MIB Catalog

CISCO-PFR-MIB

2012-11-13

This MIB module defines objects that describe Performance Routing (PfR). Standard routing protocols base routing decisions on reachability and the number of hops between the source and destination networks. PfR collects and analyzes other performance data, such as delay, loss, jitter, MOS, and link utilization, which allows it to make routing decisions based on policies defined by the network administrator. Glossary ======== PfR Performance Routing. MC PfR Master Controller. BR PfR Border Router. DRIP Dynamic Router Interaction Protocol. TC PfR Traffic Class. IPSLA IP Service Level Agreement (active probing). Exit PfR external interface. Link Group PfR logical grouping of exits to narrow down potential exits for a TC to use. Cost Minimization PfR feature that assigns costs to exits and minimizes the overall monetary cost for a TC Rollup Data collection for monetary cost calculation for all available exits. DSCP Diff-Serv Control Point. PfR Policy Global PfR policy defined under PfR master. TC policy defined under PfR map. PfR Map Container for a PfR policy. MOS Mean opinion score PBR Policy based routing. PBR uses route map to enforce the routing decision made by PfR. PfR Elements ============ A PfR system consists of a Master Controller (MC) and one or more Border Routers (BRs). The MC is a hardware or software entity that is not in the data path. A BR is a software entity in the data path, typically running on an edge router. The MC and BRs communicate with each other over a socket interface using the Dynamic Router Interaction Protocol (DRIP). The MC sends commands to the BRs related to PfR Policies and the monitoring of PfR traffic classes (TCs). The BRs send performance data gathered using either 'passive data' provided by NetFlow, 'active data' provided by sending artificial probes that are created using IPSLA APIs, or both, depending on the PfR policies configured on the MC. This MIB module describes a MC object as a single row in the cpfrMCTable and the BR object as a single row in the cpfrBRTable. PfR Exits ========= A PfR system must have at least two interfaces (i.e., exits) configured as 'external interfaces' over which a TC's destination network is reachable in order for PfR to function. These two exits can be on the same BR or on different BRs. +------+ +------+ |----> Exit 1 | MC | ---- | BR | ---- | +------+ +------+ |----> Exit 2 **** OR **** +------+ | ---- | BR | ----> Exit 1 +------+ | +------+ | MC | ---- | +------+ | +------+ | ---- | BR | ----> Exit 2 +------+ PfR can assign these exits to different PfR Link Groups. A PfR exit can be in at most three Link Groups at one time. (See 'PfR Policies' below). This MIB module describes a PfR exit as a single row in the cpfrExitTable and a cost minimization policy of an exit as a single row of the cpfrExitCostTierTable. PfR Traffic Classes =================== A traffic class is a generic term for a set of traffic flows coming into or going out of a network that have a common characteristic, such as destination address, source address, application, or DSCP value. The simplest form of a TC is 'all traffic going to the same destination prefix'. Additional parameters defines more specific TCs. PfR monitors the TCs that are specified either by enabling PfR learn mode or by direct configuration in a PfR map. PfR can learn TCs with the highest throughput, with the highest delay, with a destination address inside the PfR network, or TCs that matches a configured PfR Learn List. The BRs use iBGP to obtain information about 'inside TCs'. A PfR map specifies TCs to which the policy applies by configuring match clause. This MIB module describes a PfR TC as a single row in the cpfrTrafficClassTable and current status of a TC as a single row of the cpfrTrafficClassStatusTable, and performance metrics gathered for a specific TC as a single row of the cpfrTrafficClassMetricsTable. PfR Policies ============ A PfR policy describes the performance metrics the router is to gather, how to gather these metrics, how frequently it should gather these metrics, and how these metrics influence routing decisions. Once enabled, PfR provides a global default PfR policy. A PfR policy can be configured to use one link group as a 'primary' and one as a 'fallback' link group. If PfR determines that a TC has gone 'Out of Policy' based on the current PfR policy, it attempts to move the TC to an exit in the same primary link group, and only moves it to an exit in the fallback link group, if configured, if no exit in the primary link group is 'In Policy'. This MIB module describes a PfR map policy in a single row of the cpfrMapTable and a match clause configured for a specific PfR map as a single row of the cpfrMatchTable.

Download CISCO-PFR-MIB.txt Open CISCO-PFR-MIB.txt in a new tab

TABLES (15) · TRAPS (6)

Tables (15)

NameOID
cpfrMCTable1.3.6.1.4.1.9.9.772.1.1
cpfrMapTable1.3.6.1.4.1.9.9.772.1.2
cpfrMatchTable1.3.6.1.4.1.9.9.772.1.3
cpfrResolveTable1.3.6.1.4.1.9.9.772.1.4
cpfrLearnTable1.3.6.1.4.1.9.9.772.1.5
cpfrLearnListTable1.3.6.1.4.1.9.9.772.1.6
cpfrActiveProbeTable1.3.6.1.4.1.9.9.772.1.7
cpfrBRTable1.3.6.1.4.1.9.9.772.1.8
cpfrExitTable1.3.6.1.4.1.9.9.772.1.9
cpfrExitCostTierTable1.3.6.1.4.1.9.9.772.1.10
cpfrTrafficClassTable1.3.6.1.4.1.9.9.772.1.11
cpfrTrafficClassStatusTable1.3.6.1.4.1.9.9.772.1.12
cpfrTrafficClassMetricTable1.3.6.1.4.1.9.9.772.1.13
cpfrLinkGroupExitTable1.3.6.1.4.1.9.9.772.1.14
cpfrNbarApplListTable1.3.6.1.4.1.9.9.772.1.15

Traps (6)

NameOID
cpfrMCStatusChangeNotify1.3.6.1.4.1.9.9.772.0.1
cpfrBRStatusChangeNotify1.3.6.1.4.1.9.9.772.0.2
cpfrExitStatusChangeNotify1.3.6.1.4.1.9.9.772.0.3
cpfrTrafficClassEventNotify1.3.6.1.4.1.9.9.772.0.4
cpfrTCInpolicyThresholdBelowNotify1.3.6.1.4.1.9.9.772.0.5
cpfrTCPrimaryThresholdBelowNotify1.3.6.1.4.1.9.9.772.0.6

END OF TOC

Table details

cpfrMCTable

1.3.6.1.4.1.9.9.772.1.1

Index: cpfrMCIndex

This table lists the MC instances created by the system.

cpfrMCIndex

1.3.6.1.4.1.9.9.772.1.1.1.1

PfRMasterControllerIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a MC instance. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that uniquely identifies a PfR MC.

cpfrMCStorageType

1.3.6.1.4.1.9.9.772.1.1.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrMCMapIndex, cpfrMCKeepAliveTimer, cpfrMCMaxPrefixTotal, cpfrMCMaxPrefixLearn, cpfrMCMaxRangeReceivePercent, cpfrMCMaxRangeUtilPercentMax, cpfrMCPortNumber, cpfrMCTracerouteProbeDelay, cpfrMCRsvpPostDialDelay, cpfrMCRsvpSignalingRetries, cpfrMCNetflowExporter, cpfrMCAdminStatus.

cpfrMCRowStatus

1.3.6.1.4.1.9.9.772.1.1.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the MC table. The following columnar objects must be valid in order to transition the row to the active state: None. The following columnar objects can be modified when the row is in the active state: None

cpfrMCMapIndex

1.3.6.1.4.1.9.9.772.1.1.1.4

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object indicates a set of PfR policy map entries in cpfrMapTable associated with the MC. A value of zero indicates that there is no policy map associated with the MC and that the values in the default policy should be used for all TCs. The peer SNMP entity can retrieve this value and retrieve the cpfrMapEntry rows indexed by this value to understand the PfR policies. Alternatively the peer SNMP entity can assign the value of pfrMapIndex to this object to associate a set of policies to MC.

cpfrMCKeepAliveTimer

1.3.6.1.4.1.9.9.772.1.1.1.5

Unsigned32 · seconds

This object specifies the value of the PfR keepalive timer. The MC sends keepalive packets to BRs to maintain connectivity between the MC and the BR. If the MC does not receive keepalive packets from a BR before the keepalive timer expires and this situation happens three times in a row, then the MC will not maintain the connection.

cpfrMCMaxPrefixTotal

1.3.6.1.4.1.9.9.772.1.1.1.6

Unsigned32 · prefixes

This object specifies the maximum number of prefixes that a PfR MC will monitor. Limiting the number of prefixes a MC will monitor and learn reduces memory and system resource consumption.

cpfrMCMaxPrefixLearn

1.3.6.1.4.1.9.9.772.1.1.1.7

Unsigned32 · prefixes

This object specifies the maximum number of prefixes that a PfR MC will learn.

cpfrMCEntranceLinksMaxUtil

1.3.6.1.4.1.9.9.772.1.1.1.8

Unsigned32 (1..100) · percent

This object specifies the maximum utilization threshold of incoming traffic that can be transmitted over a PfR-managed entrance link interface.

cpfrMCExitLinksMaxUtil

1.3.6.1.4.1.9.9.772.1.1.1.9

Unsigned32 (1..100) · percent

This object specifies the maximum utilization of outbound traffic that can be transmitted over a PfR-managed exit interface.

cpfrMCPortNumber

1.3.6.1.4.1.9.9.772.1.1.1.10

InetPortNumberRepresents a 16 bit port number of an Internet transport layer protocol. Port numbers are assigned by IANA. A current list of all assignments is available from <http://www.iana.org/>. The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where a port number is unknown, or when the value zero is used as a wildcard in a filter.Reference: STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960 (0..65535) · Unsigned32 · hint d

This object specifies a dynamic port number for communication between a PfR MC and a PfR BR.

cpfrMCTracerouteProbeDelay

1.3.6.1.4.1.9.9.772.1.1.1.11

Unsigned32 · milliseconds

This object specifies the time interval between traceroute probe cycles.

cpfrMCRsvpPostDialDelay

1.3.6.1.4.1.9.9.772.1.1.1.12

Unsigned32 · milliseconds

This object specifies the delay before PfR returns the default routing path to RSVP.

cpfrMCRsvpSignalingRetries

1.3.6.1.4.1.9.9.772.1.1.1.13

Unsigned32 · retries

This object specifies the number of retries that RSVP will query PfR for the alternate path.

cpfrMCNetflowExporter

1.3.6.1.4.1.9.9.772.1.1.1.14

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of PfR Netflow exporter.

cpfrMCAdminStatus

1.3.6.1.4.1.9.9.772.1.1.1.15

INTEGER1 = enable2 = disable · Integer32

This object can be used to enable or disable PfR operation in the system. 'enable' Enable MC on the router. 'disable' Disable MC on the router.

cpfrMCOperStatus

1.3.6.1.4.1.9.9.772.1.1.1.16

INTEGER1 = active2 = inactive · Integer32

This object indicates the operational status of PfR MC. 'active' MC is active. 'inactive' MC is not active.

cpfrMCConnStatus

1.3.6.1.4.1.9.9.772.1.1.1.17

INTEGER1 = success2 = closed · Integer32

This object indicates the state of the connection between MC and BRs. 'success' MC is successfully connected to at least one BR. 'closed' MC is not connected to any BR.

cpfrMCNumofBorderRouters

1.3.6.1.4.1.9.9.772.1.1.1.18

Gauge32 · border routers

This object indicates the number of BRs that peer with the MC.

cpfrMCNumofExits

1.3.6.1.4.1.9.9.772.1.1.1.19

Gauge32 · exits

This object indicates the total number of PfR external interfaces configured on a MC.

cpfrMCLearnState

1.3.6.1.4.1.9.9.772.1.1.1.20

INTEGER1 = disabled2 = started3 = writing4 = sleep5 = retry · Integer32

This object indicates the status of PfR learning operation. 'disable' PfR learning mode is not enabled. 'started' PfR is learning TCs. 'writing' PfR is storing the learned data of TCs. 'sleep' PfR is waiting for entering into another learning period. 'retry' PfR is retrying to learn the TCs.

cpfrMCLearnStateTimeRemain

1.3.6.1.4.1.9.9.772.1.1.1.21

Unsigned32 · seconds

This object indicates time remaining in the current prefix learning period measured in seconds.

cpfrMCPrefixCount

1.3.6.1.4.1.9.9.772.1.1.1.22

Counter32 · prefixes

This object indicates the total number of prefixes PfR is monitoring.

cpfrMCPrefixLearned

1.3.6.1.4.1.9.9.772.1.1.1.23

Counter32 · prefixes

This object indicates the number of prefixes PfR has learned.

cpfrMCPrefixConfigured

1.3.6.1.4.1.9.9.772.1.1.1.24

Counter32

This object indicates the number of configured prefixes PfR is monitoring.

cpfrMCPbrMet

1.3.6.1.4.1.9.9.772.1.1.1.25

TruthValue1 = true2 = falseRepresents a boolean value. · Integer32

This object indicates whether the PBR requirements have been met. If PBR requirements are not met, the BRs cannot communicate with each other over the internal interfaces and cannot redirect traffic to each other using PBR route maps.

cpfrMCLoggingAdminStatus

1.3.6.1.4.1.9.9.772.1.1.1.26

INTEGER1 = enable2 = disable · Integer32

This object specifies whether logging is enabled or not on PfR MC. 'enable' logging is enabled. 'disable' logging is disabled.

cpfrMCControlMode

1.3.6.1.4.1.9.9.772.1.1.1.27

INTEGER1 = observe2 = control · Integer32

This object specifies PfR MC control-mode. 'observe' PfR doesn't control traffic classes, but observes them. 'control' PfR controls traffic classes.

cpfrMCClear

1.3.6.1.4.1.9.9.772.1.1.1.28

INTEGER1 = none2 = clearAll3 = clearAllPrefixes4 = clearAllBorders · Integer32

This object specifies the clear operation that an MC should perform. A read on this object will return the last successful clear operation performed by the master controller. 'none' No clear operation was executed by MC since the time it became operational. This is read-only. 'clearAll' Specifies the MC to clear all prefixes in PfR master database, connections to all border routers, and restart the PfR master process. 'clearAllPrefixes' Specifies the MC to clear all prefixes in PfR master database. 'clearAllBorders' Specifies the MC to clear connections to all border routers.

cpfrMCLastClearTime

1.3.6.1.4.1.9.9.772.1.1.1.29

TimeStampThe value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type. If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects. · TimeTicks

This object indicates the value of sysUpTime the last time the MC successfully performed a clear operation.

cpfrMCNotifisControl

1.3.6.1.4.1.9.9.772.1.1.1.30

INTEGER1 = enable2 = disable · Integer32

This object specifies whether PfR notifications is enabled or not from PfR MC. 'enable' notification is enabled. 'disable' notification is disabled.

cpfrMCChangeConfigType

1.3.6.1.4.1.9.9.772.1.1.1.31

INTEGER1 = cpfrMCLoggingAdminStatus2 = cpfrMCAdminStatus3 = cpfrMCControlMode4 = cpfrMCClear · Integer32

This object indicates which of the following configuration is changed. 'cpfrMCLoggingAdminStatus' cpfrMCLoggingAdminStatus is changed. 'cpfrMCAdminStatus' cpfrMCAdminStatus is changed. 'cpfrMCControlMode' cpfrMCControlMode is changed. 'cpfrMCClear' cpfrMCClear is changed.

cpfrMCChangeConfigValue

1.3.6.1.4.1.9.9.772.1.1.1.32

Integer32

This object indicates the value to which the type of configuration specified in cpfrMCChangeConfigType, is changed.

cpfrMapTable

1.3.6.1.4.1.9.9.772.1.2

Index: cpfrMapIndex · cpfrMapPolicyIndex

This table lists the PfR map instances created by the system. This table has a sparse expansion dependent relationship on cpfrMCTable, containing one or more rows for each cpfrMCEntry.

cpfrMapIndex

1.3.6.1.4.1.9.9.772.1.2.1.1

PfrMapIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a PfR map instance. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that uniquely identifies a set of PfR policy maps.

cpfrMapPolicyIndex

1.3.6.1.4.1.9.9.772.1.2.1.2

PfrMapPolicyIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a PfR policy instance of a PfR map. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that, in combination with cpfrMapIndex, uniquely identifies a PfR policy map.

cpfrMapStorageType

1.3.6.1.4.1.9.9.772.1.2.1.3

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrMapIndex, cpfrMapPolicyIndex, cpfrMapStorageType, cpfrMapRowStatus, cpfrMapName, cpfrMapBackoffMinTimer, cpfrMapBackoffMaxTimer, cpfrMapBackoffStepTimer, cpfrMapDelayType, cpfrMapDelayRelativePercent, cpfrMapDelayThresholdMax, cpfrMapHolddownTimer, cpfrMapPrefixForwardInterface, cpfrMapJitterThresholdMax, cpfrMapLinkGroupName, cpfrMapFallbackLinkGroupName, cpfrMapLossType, cpfrMapLossRelativeAvg, cpfrMapLossThresholdMax, cpfrMapModeMonitor, cpfrMapModeRouteOpts,cpfrMapRouteMetricBgpLocalPref, cpfrMapRouteMetricEigrpTagCommunity, cpfrMapRouteMetricStaticTag, cpfrMapModeSelectExitType, cpfrMapMossThresholdMin, cpfrMapMossPercentage, cpfrMapNextHopAddressType, cpfrMapNextHopAddress, cpfrMapPeriodicTimer, cpfrMapActiveProbeFrequency, cpfrMapActiveProbePackets, cpfrMapTracerouteReporting, cpfrMapUnreachableType, cpfrMapUnreachableRelativeAvg, cpfrMapUnreachableThresholdMax, cpfrMapRoundRobinResolver.

cpfrMapRowStatus

1.3.6.1.4.1.9.9.772.1.2.1.4

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the PfR map table. The following columnar objects must be valid in order to transition the row to the active state: cpfrMapName. The following columnar objects can be modified when the row is in the active state: None

cpfrMapName

1.3.6.1.4.1.9.9.772.1.2.1.5

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of a PfR map.

cpfrMapBackoffMinTimer

1.3.6.1.4.1.9.9.772.1.2.1.6

Unsigned32 · seconds

This object specifies the minimum value for the backoff timer. The backoff timer is used to configure a PfR map to set the transition period for which the MC holds an out-of-policy prefix.

cpfrMapBackoffMaxTimer

1.3.6.1.4.1.9.9.772.1.2.1.7

Unsigned32 · seconds

This object specifies the maximum value for the backoff timer. If the maximum timer expires and all PfR-managed exits are out-of-policy, PfR will install the best available exit and reset the minimum timer.

cpfrMapBackoffStepTimer

1.3.6.1.4.1.9.9.772.1.2.1.8

Unsigned32 · seconds

This object specifies the time period value for the step timer. PfR users the step timer to add time to the out-of-policy waiting period each time the backoff timer expires and PfR is unable to find an in-policy exit. The backoff timer is initialized to the minimum timer and incremented by the step timer until it reaches the maximum timer.

cpfrMapDelayType

1.3.6.1.4.1.9.9.772.1.2.1.9

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the delay type of a PfR map. It is used to set the delay threshold as a relative percentage or as an absolute value for match criteria.

cpfrMapDelayRelativePercent

1.3.6.1.4.1.9.9.772.1.2.1.10

Unsigned32 (1..1000) · tenths of percent

This object specifies a relative delay threshold based on a comparison of short-term and long-term delay percentages. The value of this object is valid if the corresponding value of cpfrMapDelayType is set to 'relative'.

cpfrMapDelayThresholdMax

1.3.6.1.4.1.9.9.772.1.2.1.11

Unsigned32 · milliseconds

This object specifies the absolute maximum delay time. The value of this object is valid if the corresponding value of cpfrMapDelayType is set to 'threshold'.

cpfrMapHolddownTimer

1.3.6.1.4.1.9.9.772.1.2.1.12

Unsigned32 · seconds

This object specifies the route dampening time period. It is used to configure the prefix route dampening timer for the minimum period of time in which a new exit must be used before an alternate exit can be selected.

cpfrMapPrefixForwardInterface

1.3.6.1.4.1.9.9.772.1.2.1.13

InterfaceIndexOrZeroEither the value 0, or the ifIndex value of an interface in the ifTable. (0..2147483647) · Integer32

This object specifies whether or not a null forwarding interface has been configured. This interface is always up and can never forward or receive traffic; encapsulation always fails. Null interfaces are used as a low-overhead method of discarding unnecessary network traffic.

cpfrMapJitterThresholdMax

1.3.6.1.4.1.9.9.772.1.2.1.14

Unsigned32 · milliseconds

This object specifies the maximum tolerable jitter value permitted on an exit link.

cpfrMapLinkGroupName

1.3.6.1.4.1.9.9.772.1.2.1.15

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the primary link group to be used by PfR to select an exit. It allows a group of exit links to be defined as a preferred set of links for PfR to use when optimizing TCs specified in a PfR policy.

cpfrMapFallbackLinkGroupName

1.3.6.1.4.1.9.9.772.1.2.1.16

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies a fallback link group to be used if all the exits in the primary link group are out-of-policy (OOP).

cpfrMapLossType

1.3.6.1.4.1.9.9.772.1.2.1.17

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the loss type configuration used by PfR. It specifies the relative percentage or maximum number of packets that PfR will permit to be lost during transmission on an exit link.

cpfrMapLossRelativeAvg

1.3.6.1.4.1.9.9.772.1.2.1.18

Unsigned32 · tenths of percent

This object specifies a relative percentage of packet loss based on a comparison of short-term and long-term packet loss percentages. The value of this object is valid if the corresponding value of cpfrMapLossType is set to 'relative'.

cpfrMapLossThresholdMax

1.3.6.1.4.1.9.9.772.1.2.1.19

Unsigned32 · packets-per-million

This object specifies absolute packet loss based on packets per million (PPM). The value of this object is valid if the corresponding value of cpfrMapLossType is set to 'threshold'.

cpfrMapModeMonitor

1.3.6.1.4.1.9.9.772.1.2.1.20

INTEGER1 = active2 = activeThroughput3 = both4 = fast5 = passive · Integer32

This object specifies how a PfR MC using this PfR map should monitor the TCs. 'active' Enable active monitoring. 'activethrougput' Enable active monitoring with throughput data from passive monitoring. 'both' Enable both active and passive monitoring. 'fast' Enable continuous active and passive monitoring. 'passive' Enable passive monitoring.

cpfrMapModeRouteOpts

1.3.6.1.4.1.9.9.772.1.2.1.21

INTEGER1 = control2 = observe3 = metric · Integer32

This object specifies how a PfR MC using this PfR map should control the TCs. 'control' Monitor and report performance data and use the data to make route changes that will optimize performance. 'observe' Monitor and report performance data without making any route changes. 'metric' Enable route control based on BGP Local preference, EIGRP community tag, or a specific static route tag.

cpfrMapRouteMetricBgpLocalPref

1.3.6.1.4.1.9.9.772.1.2.1.22

Unsigned32

This object specifies the BGP local preference for PfR controlled routes. The value of this object is valid if the corresponding value of cpfrMapModeRouteOpts is set to 'metric'. The value 0 is not a valid BGP local preference. Configuring 0 disables route control based on BGP local preference.

cpfrMapRouteMetricEigrpTagCommunity

1.3.6.1.4.1.9.9.772.1.2.1.23

Unsigned32

This object specifies the community value to an EIGRP route under PfR control. The value of this object is valid if the corresponding value of cpfrMapModeRouteOpts is set to 'metric'. The value 0 is not a valid EIGRP Community tag. Configuring 0 disables route control based on EIGRP.

cpfrMapRouteMetricStaticTag

1.3.6.1.4.1.9.9.772.1.2.1.24

Unsigned32

This object specifies the tag to a static route under PfR control. The value of this object is valid if the corresponding value of cpfrMapModeRouteOpts is set to 'metric'. The value 0 is not a valid Static tag. Configuring 0 disables route control based on static tag.

cpfrMapModeSelectExitType

1.3.6.1.4.1.9.9.772.1.2.1.25

INTEGER1 = best2 = good · Integer32

This object specifies how a PfR MC using this PfR map should select an exit based on performance or policy. 'best' Select the best exit based on performance or policy. 'good' Select the first exit that is in policy.

cpfrMapMOSThresholdMin

1.3.6.1.4.1.9.9.772.1.2.1.26

Unsigned32

This object specifies a threshold MOS value that represents a minimum voice quality for exit link utilization.

cpfrMapMOSPercentage

1.3.6.1.4.1.9.9.772.1.2.1.27

Unsigned32 · percent

This object specifies a percentage value that is compared with the percentage of MOS samples that are below the MOS threshold. The number of MOS samples over a period of time that are below the threshold MOS value are calculated. If the percentage of MOS samples below the threshold is greater than the configured percentage, PfR determines that the exit link is out-of-policy and searches for an alternate exit link.

cpfrMapNextHopAddressType

1.3.6.1.4.1.9.9.772.1.2.1.28

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the address type of the address specified as the next hop when PfR is used for sinkhole filtering.

cpfrMapNextHopAddress

1.3.6.1.4.1.9.9.772.1.2.1.29

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies the next hop address to which PfR forwards packets for matching prefixes. The prefixes that are forwarded to the next hop address are specified by an access list configured in a match clause on the PfR map

cpfrMapPeriodicTimer

1.3.6.1.4.1.9.9.772.1.2.1.30

Unsigned32 · seconds

This object specifies the periodic timer that PfR uses to select the best exit for the matched TCs. When this timer expires, PfR automatically selects the best exit, irrespective of whether the current exit is in-policy or out-of-policy. The periodic timer is reset when the new exit is selected.

cpfrMapActiveProbeFrequency

1.3.6.1.4.1.9.9.772.1.2.1.31

Unsigned32 · seconds

This object specifies the frequency of active probes configured under a PfR map.

cpfrMapActiveProbePackets

1.3.6.1.4.1.9.9.772.1.2.1.32

Unsigned32 · packets

This object specifies the number of probe packets generated for each active probe cycle.

cpfrMapTracerouteReporting

1.3.6.1.4.1.9.9.772.1.2.1.33

BITS

This object enables continuous and policy-based traceroute probing. Traceroute probing allows prefix performance to be measured on a hop-by-hop basis. Delay, loss, and reachability measurements are gathered for each hop from the probe source to the target prefix. 'none' Traceroute probing is disabled. 'delay' Delay policy based traceroute probing is enabled. 'loss' Loss policy based traceroute probing is enabled. 'reachability' Reachability policy based traceroute probing is enabled.

cpfrMapUnreachableType

1.3.6.1.4.1.9.9.772.1.2.1.34

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the unreachable type configuration used by PfR. It is used to set the relative percentage or the absolute maximum number of unreachable hosts, based on flows per million (fpm), that PfR will permit from a PfR-managed exit link.

cpfrMapUnreachableRelativeAvg

1.3.6.1.4.1.9.9.772.1.2.1.35

Unsigned32 · tenths of percent

This object specifies a relative percentage of unreachable hosts. The relative unreachable host percentage is based on a comparison of short-term and long-term measurements. The short-term measurement reflects the percentage of hosts that are unreachable within a 5-minute period. The long-term measurement reflects the percentage of unreachable hosts within a 60-minute period. The following formula is used to calculate this value: Relative percentage of unreachable hosts equals to the difference between short-term percentage and long-term percentage divided by long-term percentage. The master controller measures the difference between these two values as a percentage. If the percentage exceeds the user-defined or default value, the exit link is determined to be out-of-policy. The value of this object is valid if the corresponding value of cpfrMapUnreachableType is set to 'relative'.

cpfrMapUnreachableThresholdMax

1.3.6.1.4.1.9.9.772.1.2.1.36

Unsigned32 · flows per million

This object specifies the absolute maximum number of unreachable hosts based on flows per million. The value of this object is valid if the corresponding value of cpfrMapUnreachableType is set to 'threshold'.

cpfrMapRoundRobinResolver

1.3.6.1.4.1.9.9.772.1.2.1.37

INTEGER1 = enable2 = disable · Integer32

This object specifies whether the round robin resolver is enabled or disabled. 'enable' Round robin resolver is enabled. 'disable' Round robin resolver is disabled.

cpfrMapEventNotifCtrlType

1.3.6.1.4.1.9.9.772.1.2.1.38

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the event notification control type configuration used by PfR. It is used to set the relative percentage or the absolute threshold value for cpfrMapEventNotifCtrlThreshold object.

cpfrMapEventNotifCtrlThreshold

1.3.6.1.4.1.9.9.772.1.2.1.39

Unsigned32

This object specifies the absolute event counter threshold or relative percentage threshold used by PfR to throttle the generation of cpfrTCInpolicyThresholdBelowNotify and cpfrTCPrimaryThresholdBelowNotify. If the value is relative percentage threshold, then the notification is generated if cpfrMapEventTCCount over total TC count is more than the value of this percentage. - If the value is absolute event counter threshold, then the notification is generated if cpfrEventTrapTCCount is more than this value.

cpfrMapEventTCCount

1.3.6.1.4.1.9.9.772.1.2.1.40

Unsigned32

This object specifies the current absolute number of traffic classes, whose state are 'default' or 'oopolicy' specified by cpfrTCStatus.

cpfrMatchTable

1.3.6.1.4.1.9.9.772.1.3

Index: cpfrMapIndex · cpfrMapPolicyIndex

This table lists the match clause instances created by the system. This table has an expansion dependent relationship on cpfrMapTable, containing zero or more rows for each cpfrMapEntry.

cpfrMatchValid

1.3.6.1.4.1.9.9.772.1.3.1.1

BITS

This object specifies which of those objects are valid. When a user is configuring a match clause, the corresponding bit should also be set to true in this object. The following list shows different types of match clauses, the bit to be set and the corresponding objects. 'access-list' If this bit is set to '1' then corresponding instance of cpfrMatchAccessList is valid. 'prefix-list' If this bit is set to '1' then corresponding instance of cpfrMatchPrefixList is valid. 'inside' If this bit is set to '1' then corresponding instance of cpfrMatchInside is valid. 'learn' If this bit is set to '1' then corresponding instances of cpfrMatchLearnMode and cpfrMatchLearnListName are valid. 'nbarApplicationList' If this bit is set to '1' then corresponding instance of cpfrMatchTCNbarListName is valid.

cpfrMatchAddrAccessList

1.3.6.1.4.1.9.9.772.1.3.1.2

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the access list used to manually configure a traffic class that matches destination prefixes in an access list used in a PfR map.

cpfrMatchAddrPrefixList

1.3.6.1.4.1.9.9.772.1.3.1.3

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the prefix list used to manually configure a traffic class that matches destination prefixes in a prefix list.

cpfrMatchAddrPrefixInside

1.3.6.1.4.1.9.9.772.1.3.1.4

TruthValue1 = true2 = falseRepresents a boolean value. · Integer32

This object specifies whether or not the prefixes learned by PfR are within the internal network.

cpfrMatchLearnMode

1.3.6.1.4.1.9.9.772.1.3.1.5

INTEGER1 = delay2 = inside3 = throughput4 = list · Integer32

This object specifies the mode by which PfR should learn prefixes. 'Delay' PfR learns prefixes based on the highest delay. 'Inside' PfR learns the prefixes inside the network. 'Throughput' PfR learns prefixes based on the highest throughput. 'list' PfR learns prefixes based on a learn list.

cpfrMatchLearnListName

1.3.6.1.4.1.9.9.772.1.3.1.6

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the learn list name used by PfR for learning prefixes. This object is valid when the corresponding cpfrMatchLearnMode object is set to 'list'.

cpfrMatchTCNbarListName

1.3.6.1.4.1.9.9.772.1.3.1.7

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies that PfR is to profile traffic destined for prefixes defined in an IP prefix list that match one or more NBAR applications. The applications are predefined with a protocol identifier. This object identifies a set of protocols in cpfrNbarApplListTable.

cpfrMatchTCNbarApplPfxList

1.3.6.1.4.1.9.9.772.1.3.1.8

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the prefix list to be used by PfR to filter traffic that is learned based on NBAR applications.

cpfrMatchTCPfxInside

1.3.6.1.4.1.9.9.772.1.3.1.9

TruthValue1 = true2 = falseRepresents a boolean value. · Integer32

This object specifies whether or not the prefixes filtered by the prefix list is inside the internal network.

cpfrResolveTable

1.3.6.1.4.1.9.9.772.1.4

Index: cpfrResolveIndex

This table lists the resolver instances created by the system. This table has an expansion dependent relationship on cpfrMapTable, containing zero or more rows for each cpfrMapEntry.

cpfrResolveIndex

1.3.6.1.4.1.9.9.772.1.4.1.1

Unsigned32 (1..4294967295)

This object indicates an arbitrary integer-value that uniquely identifies a PfR resolver.

cpfrResolveStorageType

1.3.6.1.4.1.9.9.772.1.4.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrResolvePolicyType, cpfrResolveVariance, cpfrResolveMapIndex, cpfrResolveMapIndex.

cpfrResolveRowStatus

1.3.6.1.4.1.9.9.772.1.4.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the resolver table. The following columnar objects must be valid in order to transition the row to the active state: cpfrMCResolvePriority, cpfrResolvePolicyType, cpfrResolveMapIndex, cpfrResolveMapPolicyIndex The following columnar objects can be modified when the row is in the active state: None

cpfrResolvePriority

1.3.6.1.4.1.9.9.772.1.4.1.4

Unsigned32

This object indicates the priority of the resolver.

cpfrResolvePolicyType

1.3.6.1.4.1.9.9.772.1.4.1.5

PfrResolvePolicyType0 = none1 = cost2 = delay3 = jitter4 = loss5 = mos6 = range7 = utilizationThis textual convention denotes the type of resolver policies supported by PfR. 'cost' The resolver policy is based on routing cost. 'delay' The resolver policy is based on routing delay. 'jitter' The resolver policy is based on jitter. 'loss' The resolver policy is based on packet loss. 'mos' The resolver policy is based on MOS. · Integer32

This object indicates the type of this resolver policy.

cpfrResolveVariance

1.3.6.1.4.1.9.9.772.1.4.1.6

Unsigned32

This object specifies the allowable variance for the policy, as a percentage.

cpfrResolveMapIndex

1.3.6.1.4.1.9.9.772.1.4.1.7

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object refers to the map Index of PfR map under which this resolver was configured.

cpfrResolveMapPolicyIndex

1.3.6.1.4.1.9.9.772.1.4.1.8

PfrMapPolicyIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a PfR policy instance of a PfR map. (1..4294967295) · Unsigned32 · hint d · 0

This object refers to PfR map policy index of PfR map under which this resolver was configured.

cpfrLearnTable

1.3.6.1.4.1.9.9.772.1.5

Index: cpfrMCIndex

This table lists the PfR learn instances created by the system. This table has a one-to-one relationship with cpfrMCTable, containing zero or more rows for each cpfrMCEntry.

cpfrLearnAggregationType

1.3.6.1.4.1.9.9.772.1.5.1.1

INTEGER1 = bgp2 = nonBgp3 = prefixLength · Integer32

This object specifies how a MC aggregates learned prefixes based on traffic type. 'bgp' The bgp keyword configures aggregation based on entries in the BGP routing table. 'nonBgp' The non-bgp keyword configures aggregation based on static routes. 'prefixLength' The prefix-length keyword configures aggregation based on the specified prefix length. The range of values that can be configured for this argument is a prefix mask from 1 to 32. If this command is not specified, the default aggregation is performed based on a /24 prefix length

cpfrLearnAggregationPrefixLen

1.3.6.1.4.1.9.9.772.1.5.1.2

Unsigned32 · bits

This object configures aggregation based on the specified prefix length.

cpfrLearnMethod

1.3.6.1.4.1.9.9.772.1.5.1.3

BITS

This object specifies the method by which PfR learns prefixes. 'delay' Learn prefixes with the highest round trip delay. 'throughput' Learn prefixes with the highest throughput. 'insideBgp' Learn prefixes inside the network.

cpfrLearnExpireType

1.3.6.1.4.1.9.9.772.1.5.1.4

INTEGER1 = session2 = time · Integer32

This object specifies the length of time that the learned prefixes are kept in the central policy database. 'session' Configures a session-based expiration timer. 'time' Configures a time-based expiration timer.

cpfrLearnExpireSessionNum

1.3.6.1.4.1.9.9.772.1.5.1.5

Unsigned32 · monitoring periods

This object configures a session-based expiration timer. A number from 1 to 65535 can be entered. Each increment represents one monitoring period. The object is valid when cpfrLearnExpireType is configured with session.

cpfrLearnExpireTime

1.3.6.1.4.1.9.9.772.1.5.1.6

Unsigned32 · minutes

This object configures a time-based expiration timer.

cpfrLearnMonitorPeriod

1.3.6.1.4.1.9.9.772.1.5.1.7

Unsigned32 · minutes

This object specifies the time period over which a PfR MC learns traffic flows.

cpfrLearnPeriodInterval

1.3.6.1.4.1.9.9.772.1.5.1.8

Unsigned32 · minutes

This object specifies the time interval between prefix monitoring periods.

cpfrLearnPrefixesNumber

1.3.6.1.4.1.9.9.772.1.5.1.9

Unsigned32 · prefixes

This object specifies the maximum number of prefixes PfR can learn.

cpfrLearnAggAccesslistName

1.3.6.1.4.1.9.9.772.1.5.1.10

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies a PfR access list to define criteria which PfR uses to aggregate TCs.

cpfrLearnFilterAccessListName

1.3.6.1.4.1.9.9.772.1.5.1.11

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies an access list used to filter TCs learned by PfR.

cpfrLearnListTable

1.3.6.1.4.1.9.9.772.1.6

Index: cpfrMCIndex · cpfrLearnListIndex

This table lists the learn lists created by the system. This table has an expansion dependent relationship on cpfrLearnTable, containing zero or more rows for each cpfrLearnEntry.

cpfrLearnListIndex

1.3.6.1.4.1.9.9.772.1.6.1.1

PfrLearnListIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a learn list instance. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that uniquely identifies a PfR learn list.

cpfrLearnListStorageType

1.3.6.1.4.1.9.9.772.1.6.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrLearnListReferenceName, cpfrLearnListSequenceNum, cpfrLearnListMethod, cpfrLearnListDelayType, cpfrLearnListDelayRelativePercentage, cpfrLearnListDelayThresholdMax, cpfrLearnListAclName, cpfrLearnListFilterPfxName, cpfrLearnListPfxName, cpfrLearnListPfxInside, cpfrLearnListNbarAppl.

cpfrLearnListRowStatus

1.3.6.1.4.1.9.9.772.1.6.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the learn list table. The following columnar objects must be valid in order to transition the row to the active state: cpfrLearnListReferenceName, cpfrLearnListSequenceNum. The following columnar objects can be modified when the row is in the active state: None

cpfrLearnListReferenceName

1.3.6.1.4.1.9.9.772.1.6.1.4

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the reference name of a learn list.

cpfrLearnListSequenceNum

1.3.6.1.4.1.9.9.772.1.6.1.5

Unsigned32

This object specifies the sequence number representing a sequence that is used to determine the order in which PfR applies learn list criteria.

cpfrLearnListMethod

1.3.6.1.4.1.9.9.772.1.6.1.6

BITS

This object specifies how PfR learns prefixes. 'delay' Learn prefixes with the highest round trip delay. 'througput' Learn prefixes with the highest throughput. 'rsvp' Learn prefixes on the basis of RSVP.

cpfrLearnListAclName

1.3.6.1.4.1.9.9.772.1.6.1.7

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of the access list to be used by the PfR learn list.

cpfrLearnListPfxName

1.3.6.1.4.1.9.9.772.1.6.1.8

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of the prefix list to be used by the PfR learn list.

cpfrLearnListPfxInside

1.3.6.1.4.1.9.9.772.1.6.1.9

TruthValue1 = true2 = falseRepresents a boolean value. · Integer32

This object specifies whether PfR should learn prefixes that are inside the network.

cpfrLearnListNbarAppl

1.3.6.1.4.1.9.9.772.1.6.1.10

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies a set of protocols in the cpfrNbarApplListTable that will be used by PfR to learn TCs.

cpfrLearnListFilterPfxName

1.3.6.1.4.1.9.9.772.1.6.1.11

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of the prefix list to be used as a filter for traffic classes to be learned by this learn list.

cpfrActiveProbeTable

1.3.6.1.4.1.9.9.772.1.7

Index: cpfrActiveProbeIndex

This table lists the active probe instances created by the system. This table has an expansion dependent relationship on cpfrMapTable, containing zero or more rows for each cpfrMapEntry.

cpfrActiveProbeIndex

1.3.6.1.4.1.9.9.772.1.7.1.1

Unsigned32 (1..4294967295)

This object indicates an arbitrary integer-value that uniquely identifies an active probe entity in a PfR policy map.

cpfrActiveProbeStorageType

1.3.6.1.4.1.9.9.772.1.7.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): pfrActiveProbeType, cpfrActiveProbeTargetAddressType, cpfrActiveProbeTargetAddress, cpfrActiveProbeTargetPortNumber, cpfrActiveProbePfrMapIndex, cpfrActiveProbeDscpValue, cpfrActiveProbeCodecName, cpfrActiveProbeMapIndex, cpfrActiveProbeMapPolicyIndex, cpfrActiveProbeAdminStatus.

cpfrActiveProbeRowStatus

1.3.6.1.4.1.9.9.772.1.7.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of row in the active probe table. The following columnar objects must be valid in order to transition the row to the active state: cpfrActiveProbeType, cpfrActiveProbeTargetAddressType, cpfrActiveProbeTargetAddress, cpfrActiveProbeTargetPortNumber, cpfrActiveProbeMapIndex, cpfrActiveProbeMapPolicyIndex. The following columnar objects can be modified when the row is in the active state: None

cpfrActiveProbeType

1.3.6.1.4.1.9.9.772.1.7.1.4

INTEGER1 = echo2 = jitter3 = tcpConn4 = udpEcho · Integer32

This object specifies the Type of probe. 'echo' Use Internet Control Message Protocol (ICMP) echo messages (ping) for active probe. 'jitter' Use jitter messages for active probe. 'tcp-conn' Use TCP connection messages for active probe. 'udp-echo' Use User Datagram Protocol (UDP) echo messages for active probe.

cpfrActiveProbeTargetAddressType

1.3.6.1.4.1.9.9.772.1.7.1.5

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the type of a target IP address of a prefix to be monitored using the specified type of probe.

cpfrActiveProbeTargetAddress

1.3.6.1.4.1.9.9.772.1.7.1.6

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies target IP address of a prefix to be monitored using the specified type of probe.

cpfrActiveProbeTargetPortNumber

1.3.6.1.4.1.9.9.772.1.7.1.7

CiscoPortThe TCP or UDP port number range.Reference: Transmission Control Protocol. J. Postel. RFC793, User Datagram Protocol. J. Postel. RFC768 (0..65535) · Integer32

This object specifies the destination port number for the active probe.

cpfrActiveProbePfrMapIndex

1.3.6.1.4.1.9.9.772.1.7.1.8

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object specifies the index of the PfR policy map on which the active probe clause is configured.

cpfrActiveProbeDscpValue

1.3.6.1.4.1.9.9.772.1.7.1.9

Unsigned32

This object indicates the Differentiated Services Code Point (DSCP) value.

cpfrActiveProbeCodecName

1.3.6.1.4.1.9.9.772.1.7.1.10

INTEGER1 = g711alaw2 = g711ulaw3 = g729a · Integer32

This object specifies the codec value used for Mean Opinion Score (MOS) calculation and only used with the jitter probe type. The codec values must be one of the following, 'g711alaw' G.711 A Law 64000 bps. 'g711ulaw' G.711 U Law 64000 bps. 'g729a' G.729 8000 bps.

cpfrActiveProbeMapIndex

1.3.6.1.4.1.9.9.772.1.7.1.11

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object specifies the index of a PfR map under which this active probe was configured.

cpfrActiveProbeMapPolicyIndex

1.3.6.1.4.1.9.9.772.1.7.1.12

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object specifies the index of a PfR map policy under which this active probe was configured.

cpfrActiveProbeAdminStatus

1.3.6.1.4.1.9.9.772.1.7.1.13

INTEGER1 = assigned2 = unassigned3 = forced · Integer32

This object specifies whether the probe is assigned to a prefix or not, or is a forced probe configured on a PfR map. 'assigned' Active probe is assigned. 'unassigned' Active probe is unassigned. 'forced' Active probe is sent to forced targets configured in PfR map.

cpfrActiveProbeOperStatus

1.3.6.1.4.1.9.9.772.1.7.1.14

INTEGER1 = running2 = notRunning · Integer32

This object indicates the current status of an active probe. 'running' Active probe is running. 'notrunning' Active probe is not running.

cpfrActiveProbeAssignedPfxAddressType

1.3.6.1.4.1.9.9.772.1.7.1.15

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object indicates the type of assigned prefix address.

cpfrActiveProbeAssignedPfxAddress

1.3.6.1.4.1.9.9.772.1.7.1.16

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object indicates the assigned prefix address.

cpfrActiveProbeAssignedPfxLen

1.3.6.1.4.1.9.9.772.1.7.1.17

Unsigned32

This object indicates the length of the assigned prefix address.

cpfrActiveProbeMethod

1.3.6.1.4.1.9.9.772.1.7.1.18

INTEGER1 = learned2 = configured · Integer32

This object indicates how an active probe is entered into the PfR system. 'learned' Active probe is triggered when PfR learns TCs. 'configured' Active probe is forced by CLI command.

cpfrBRTable

1.3.6.1.4.1.9.9.772.1.8

Index: cpfrMCIndex · cpfrBRIndex

This table lists the border router (BR) instances created by the system. This table has an expansion dependent relationship on the cpfrMCTable, containing zero or more rows for each cpfrMCEntry.

cpfrBRIndex

1.3.6.1.4.1.9.9.772.1.8.1.1

PfrBorderRouterIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a BR instance. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that uniquely identifies a PfR BR.

cpfrBRStorageType

1.3.6.1.4.1.9.9.772.1.8.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrBRAddressType, cpfrBRAddress, cpfrBRKeyName.

cpfrBRRowStatus

1.3.6.1.4.1.9.9.772.1.8.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the BR table. The following columnar objects must be valid in order to transition the row to the active state: None. The following columnar objects can be modified when the row is in the active state: None

cpfrBRAddressType

1.3.6.1.4.1.9.9.772.1.8.1.4

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the IP address type of a PfR BR.

cpfrBRAddress

1.3.6.1.4.1.9.9.772.1.8.1.5

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies the IP address of a PfR BR

cpfrBRKeyName

1.3.6.1.4.1.9.9.772.1.8.1.6

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the key used to authenticate communication between the BR and the MC. The authentication key must be specified during the initial configuration to establish communication, but is not required to enter PfR managed BR configuration mode.

cpfrBROperStatus

1.3.6.1.4.1.9.9.772.1.8.1.7

INTEGER1 = active2 = inactive · Integer32

This object indicates the operational status of PfR BR. 'active' BR is active. 'inactive' BR is inactive.

cpfrBRConnStatus

1.3.6.1.4.1.9.9.772.1.8.1.8

INTEGER1 = up2 = down · Integer32

This object indicates the connection status between BR and MC. 'up' BR is successfully connected to the MC. 'down' BR is not connected to the MC.

cpfrBRUpTime

1.3.6.1.4.1.9.9.772.1.8.1.9

TimeTicks

This object indicates the length of time that the connection with the MC has been up.

cpfrBRConnFailureReason

1.3.6.1.4.1.9.9.772.1.8.1.10

INTEGER1 = versionMismatch2 = none3 = authFailure4 = socketError5 = timerExpired · Integer32

This object indicates the reason why the connection status between the BR and MC fails. 'versionmismatch' The software version between MC and BR does not match. 'none' No failure reason. 'authFailure' authentication failed. 'socketError' socket was closed with an error. 'timerExpired' connection was closed with keepalive timer expiration.

cpfrBRAuthFailCount

1.3.6.1.4.1.9.9.772.1.8.1.11

Counter32

This object indicates the number of authentication failures between the MC and the BR.

cpfrExitTable

1.3.6.1.4.1.9.9.772.1.9

Index: cpfrMCIndex · cpfrBRIndex · cpfrExitIndex

This table lists the PfR exit instances created by the system. This table has an expansion dependent relationship on the cpfrBRTable, containing zero or more rows for each cpfrBREntry.

cpfrExitIndex

1.3.6.1.4.1.9.9.772.1.9.1.1

PfrExitIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies an Exit instance. (1..4294967295) · Unsigned32 · hint d

This object indicates an arbitrary integer-value that uniquely identifies a PfR monitored/controlled exit.

cpfrExitStorageType

1.3.6.1.4.1.9.9.772.1.9.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrExitName, cpfrExitType, cpfrDowngradeBgpCommunity, cpfrExitMaxUtilRxType, cpfrExitMURxAbsolute, cpfrExitMURxPercentage , cpfrExitMaxUtilTxType, cpfrExitMUTxAbsolute, cpfrExitMUTxPercentage, cpfrExitCostCalcMethod, cpfrExitCostDiscard, cpfrExitCostDiscardType, cpfrExitCostDiscardAbsolute, cpfrExitCostDiscardPercent, cpfrExitCostEndDayOfMonth, cpfrExitCostEndOffset, cpfrExitCostFixedFeeCost, cpfrExitCostNickName, cpfrExitCostSamplingPeriod, cpfrExitCostRollupPeriod, cpfrExitCostSummerTimeStart, cpfrExitCostSummerTimeOffset, cpfrExitCostSummerTimeEnd.

cpfrExitRowStatus

1.3.6.1.4.1.9.9.772.1.9.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the exit table. The following columnar objects must be valid in order to transition the row to the active state: cpfrExitName, cpfrExitType. The following columnar objects can be modified when the row is in the active state: None

cpfrExitName

1.3.6.1.4.1.9.9.772.1.9.1.4

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of a PfR controlled interface on a BR.

cpfrExitType

1.3.6.1.4.1.9.9.772.1.9.1.5

INTEGER1 = internal2 = external · Integer32

This object specifies the exit type. 'internal' The interface is an internal interface. Internal interfaces are used for communication between BRs. 'external' The interface is an external interface. External interfaces are used for active and passive monitoring and traffic forwarding.

cpfrDowngradeBgpCommunity

1.3.6.1.4.1.9.9.772.1.9.1.6

Unsigned32

This object specifies a BGP prepend community number attached to an inside prefix BGP advertisement from the network to another autonomous system. The BGP prepend community will increase the number of autonomous system hops in the advertisement of the inside prefix to other autonomous systems.

cpfrExitMaxUtilRxType

1.3.6.1.4.1.9.9.772.1.9.1.7

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the maximum utilization configuration type for incoming traffic over a single PfR exit.

cpfrExitMaxUtilRxAbsolute

1.3.6.1.4.1.9.9.772.1.9.1.8

Unsigned32 · Kbps

This object specifies the maximum utilization on a PfR managed entrance link to an absolute value.

cpfrExitMaxUtilRxPercentage

1.3.6.1.4.1.9.9.772.1.9.1.9

Unsigned32 (1..100) · percent

This object specifies the maximum utilization on a PfR managed entrance link to a bandwidth percentage.

cpfrExitMaxUtilTxType

1.3.6.1.4.1.9.9.772.1.9.1.10

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the maximum utilization configuration type for traffic over a single PfR managed exit.

cpfrExitMaxUtilTxAbsolute

1.3.6.1.4.1.9.9.772.1.9.1.11

Unsigned32 · Kbps

This object indicates the maximum utilization on a PfR managed exit link to an absolute value.

cpfrExitMaxUtilTxPercentage

1.3.6.1.4.1.9.9.772.1.9.1.12

Unsigned32 (1..100) · percent

This object specifies the maximum utilization on a PfR managed exit link to a bandwidth percentage.

cpfrExitCostCalcMethod

1.3.6.1.4.1.9.9.772.1.9.1.13

INTEGER1 = combined2 = separate3 = sum · Integer32

This object indicates how the fee for a particular exit is calculated. 'combined' Specifies billing based on combined egress and ingress rollup samples. 'separate' Specifies billing based on separate egress and ingress rollup samples. 'sum' Specifies billing based on egress and ingress rollup samples that are added and then combined.

cpfrExitCostDiscard

1.3.6.1.4.1.9.9.772.1.9.1.14

INTEGER1 = daily2 = monthly · Integer32

This object specifies how often rollup samples are discarded. 'daily' Rollup samples are discarded every day. 'monthly' Rollup samples are discarded every month.

cpfrExitCostDiscardType

1.3.6.1.4.1.9.9.772.1.9.1.15

INTEGER1 = absolute2 = percent · Integer32

This object specifies the threshold value types for cost discard. 'absolute' Absolute value configured in cpfrExitCostDiscardAbsolute object will be used. 'percent' Percent value configured in cpfrExitCostDiscardPercent object will be used.

cpfrExitCostDiscardAbsolute

1.3.6.1.4.1.9.9.772.1.9.1.16

Unsigned32 · samples

This object specifies an absolute number of rollup samples to be discarded.

cpfrExitCostDiscardPercent

1.3.6.1.4.1.9.9.772.1.9.1.17

Unsigned32 (1..99) · percent

This object specifies what percentage of the rollup samples should be discarded when calculating the exit cost.

cpfrExitCostEndDayOfMonth

1.3.6.1.4.1.9.9.772.1.9.1.18

Unsigned32 (1..31)

This object specifies the end billing date.

cpfrExitCostEndOffsetType

1.3.6.1.4.1.9.9.772.1.9.1.19

INTEGER1 = positive2 = negative · Integer32

This object indicates the cpfrExitCostEndOffset is before or after cpfrExitCostEndDayOfMonth. 'positive' time After cpfrExitCostEndDayOfMonth. 'negative' time before cpfrExitCostEndDayOfMonth.

cpfrExitCostEndOffset

1.3.6.1.4.1.9.9.772.1.9.1.20

TimeIntervalA period of time, measured in units of 0.01 seconds. (0..2147483647) · Integer32

This object indicates an offset in hours and minutes, allowing you to compensate for time zone differences.

cpfrExitCostFixedFeeCost

1.3.6.1.4.1.9.9.772.1.9.1.21

Unsigned32 · dollars

This object specifies a non-usage based fixed fee.

cpfrExitCostNickName

1.3.6.1.4.1.9.9.772.1.9.1.22

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies a nickname for the cost structure.

cpfrExitCostSamplingPeriod

1.3.6.1.4.1.9.9.772.1.9.1.23

Unsigned32 · minutes

This object specifies the sampling period.

cpfrExitCostRollupPeriod

1.3.6.1.4.1.9.9.772.1.9.1.24

Unsigned32 · minutes

This object specifies that samples are rolled up at the interval specified for the minutes argument. This value must be greater than or equal to the corresponding instance of cpfrExitCostSamplingPeriod.

cpfrExitCostSummerTimeStart

1.3.6.1.4.1.9.9.772.1.9.1.25

DateAndTimeA date-time specification. field octets contents range ----- ------ -------- ----- 1 1-2 year* 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6 minutes 0..59 6 7 seconds 0..60 (use 60 for leap-second) 7 8 deci-seconds 0..9 8 9 direction from UTC '+' / '-' 9 10 hours from UTC* 0..13 10 11 minutes from UTC 0..59 * Notes: - the value of year is in network-byte order - daylight saving time in New Zealand is +13 For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be displayed as: 1992-5-26,13:30:15.0,-4:0 Note that if only local time is known, then timezone information (fields 8-10) is not present. SIZE (8 | 11) · OCTET STRING · hint 2d-1d-1d,1d:1d:1d.1d,1a1d:1d

This object indicates the date and time when the daylight savings time starts.

cpfrExitCostSummerTimeOffset

1.3.6.1.4.1.9.9.772.1.9.1.26

Unsigned32 (1..120) · minutes

This object specifies the offset added in the spring and subtracted in the fall.

cpfrExitCostSummerTimeEnd

1.3.6.1.4.1.9.9.772.1.9.1.27

DateAndTimeA date-time specification. field octets contents range ----- ------ -------- ----- 1 1-2 year* 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6 minutes 0..59 6 7 seconds 0..60 (use 60 for leap-second) 7 8 deci-seconds 0..9 8 9 direction from UTC '+' / '-' 9 10 hours from UTC* 0..13 10 11 minutes from UTC 0..59 * Notes: - the value of year is in network-byte order - daylight saving time in New Zealand is +13 For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be displayed as: 1992-5-26,13:30:15.0,-4:0 Note that if only local time is known, then timezone information (fields 8-10) is not present. SIZE (8 | 11) · OCTET STRING · hint 2d-1d-1d,1d:1d:1d.1d,1a1d:1d

This object indicates the date and time when daylight saving time comes to an end.

cpfrExitCapacity

1.3.6.1.4.1.9.9.772.1.9.1.28

CounterBasedGauge64The CounterBasedGauge64 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value can not be greater than 2^64-1 (18446744073709551615 decimal), and the minimum value can not be smaller than 0. The value of a CounterBasedGauge64 has its maximum value whenever the information being modeled is greater than or equal to its maximum value, and has its minimum value whenever the information being modeled is smaller than or equal to its minimum value. If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the CounterBasedGauge64 also decreases (increases). Note that this TC is not strictly supported in SMIv2, because the 'always increasing' and 'counter wrap' semantics associated with the Counter64 base type are not preserved. It is possible that management applications which rely solely upon the (Counter64) ASN.1 tag to determine object semantics will mistakenly operate upon objects of this type as they would for Counter64 objects. This textual convention represents a limited and short-term solution, and may be deprecated as a long term solution is defined and deployed to replace it. (0..18446744073709551615) · Counter64 · Kbps

This object indicates the capacity of the interface.

cpfrExitRxBandwidth

1.3.6.1.4.1.9.9.772.1.9.1.29

CounterBasedGauge64The CounterBasedGauge64 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value can not be greater than 2^64-1 (18446744073709551615 decimal), and the minimum value can not be smaller than 0. The value of a CounterBasedGauge64 has its maximum value whenever the information being modeled is greater than or equal to its maximum value, and has its minimum value whenever the information being modeled is smaller than or equal to its minimum value. If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the CounterBasedGauge64 also decreases (increases). Note that this TC is not strictly supported in SMIv2, because the 'always increasing' and 'counter wrap' semantics associated with the Counter64 base type are not preserved. It is possible that management applications which rely solely upon the (Counter64) ASN.1 tag to determine object semantics will mistakenly operate upon objects of this type as they would for Counter64 objects. This textual convention represents a limited and short-term solution, and may be deprecated as a long term solution is defined and deployed to replace it. (0..18446744073709551615) · Counter64 · Kbps

This object indicates the receive bandwidth as configured on the interface.

cpfrExitTxBandwidth

1.3.6.1.4.1.9.9.772.1.9.1.30

CounterBasedGauge64The CounterBasedGauge64 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value can not be greater than 2^64-1 (18446744073709551615 decimal), and the minimum value can not be smaller than 0. The value of a CounterBasedGauge64 has its maximum value whenever the information being modeled is greater than or equal to its maximum value, and has its minimum value whenever the information being modeled is smaller than or equal to its minimum value. If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the CounterBasedGauge64 also decreases (increases). Note that this TC is not strictly supported in SMIv2, because the 'always increasing' and 'counter wrap' semantics associated with the Counter64 base type are not preserved. It is possible that management applications which rely solely upon the (Counter64) ASN.1 tag to determine object semantics will mistakenly operate upon objects of this type as they would for Counter64 objects. This textual convention represents a limited and short-term solution, and may be deprecated as a long term solution is defined and deployed to replace it. (0..18446744073709551615) · Counter64 · Kbps

This object indicates the transmit bandwidth as configured on the interface.

cpfrExitTxLoad

1.3.6.1.4.1.9.9.772.1.9.1.31

Gauge32 · percent

This object indicates the transmit load of the exit.

cpfrExitRxLoad

1.3.6.1.4.1.9.9.772.1.9.1.32

Gauge32

This object indicates the receive traffic load of the exit.

cpfrExitNickName

1.3.6.1.4.1.9.9.772.1.9.1.33

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

The object indicates the exit nickname assigned to an external PfR interface.

cpfrExitCost1

1.3.6.1.4.1.9.9.772.1.9.1.34

Gauge32 · dollars

This object indicates the exit link cost for the current month.

cpfrExitSustainedUtil1

1.3.6.1.4.1.9.9.772.1.9.1.35

Gauge32 · Kbps

This object indicates the sustained utilization of the exit link in the current month.

cpfrExitCost2

1.3.6.1.4.1.9.9.772.1.9.1.36

Gauge32 · dollars

This object indicates the exit link cost of the previous month.

cpfrExitSustainedUtil2

1.3.6.1.4.1.9.9.772.1.9.1.37

Gauge32 · Kbps

This object indicates the sustained utilization of the exit link for the month prior to the previous month.

cpfrExitCost3

1.3.6.1.4.1.9.9.772.1.9.1.38

Gauge32 · dollars

This object indicates the exit link cost for the month prior to the previous month.

cpfrExitSustainedUtil3

1.3.6.1.4.1.9.9.772.1.9.1.39

Gauge32 · Kbps

This object indicates the sustained utilization of the exit link the month prior to the previous month.

cpfrExitRollupTotal

1.3.6.1.4.1.9.9.772.1.9.1.40

Gauge32 · minutes

This object indicates the total rollups.

cpfrExitRollupDiscard

1.3.6.1.4.1.9.9.772.1.9.1.41

Gauge32

This object indicates the total discarded rollups.

cpfrExitRollupLeft

1.3.6.1.4.1.9.9.772.1.9.1.42

Gauge32

This object indicates the left over rollups.

cpfrExitRollupCollected

1.3.6.1.4.1.9.9.772.1.9.1.43

Gauge32

This object indicates the rollups that are being collected.

cpfrExitRollupMomTgtUtil

1.3.6.1.4.1.9.9.772.1.9.1.44

Gauge32 · Kbps

This object indicates the momentary utilization of the targets.

cpfrExitRollupStartingTgtUtil

1.3.6.1.4.1.9.9.772.1.9.1.45

Gauge32 · Kbps

This object indicates the target when the rollup starts.

cpfrExitRollupCurrentTgtUtil

1.3.6.1.4.1.9.9.772.1.9.1.46

Gauge32 · kbps

This object indicates current rollup target.

cpfrExitRollupCumRxBytes

1.3.6.1.4.1.9.9.772.1.9.1.47

Counter32

This object indicates the cumulative receive bytes in a rollup.

cpfrExitRollupCumTxBytes

1.3.6.1.4.1.9.9.772.1.9.1.48

Counter32

This object indicates the cumulative transmit bytes in a rollup.

cpfrExitRollupTimeRemain

1.3.6.1.4.1.9.9.772.1.9.1.49

TimeIntervalA period of time, measured in units of 0.01 seconds. (0..2147483647) · Integer32

This object indicates the remaining time before a new rollup is started.

cpfrExitOperStatus

1.3.6.1.4.1.9.9.772.1.9.1.50

INTEGER1 = up2 = down · Integer32

This object indicates the current status of an exit. 'up' The exit is up. 'down' The exit is down.

cpfrExitRsvpBandwidthPool

1.3.6.1.4.1.9.9.772.1.9.1.51

CounterBasedGauge64The CounterBasedGauge64 type represents a non-negative integer, which may increase or decrease, but shall never exceed a maximum value, nor fall below a minimum value. The maximum value can not be greater than 2^64-1 (18446744073709551615 decimal), and the minimum value can not be smaller than 0. The value of a CounterBasedGauge64 has its maximum value whenever the information being modeled is greater than or equal to its maximum value, and has its minimum value whenever the information being modeled is smaller than or equal to its minimum value. If the information being modeled subsequently decreases below (increases above) the maximum (minimum) value, the CounterBasedGauge64 also decreases (increases). Note that this TC is not strictly supported in SMIv2, because the 'always increasing' and 'counter wrap' semantics associated with the Counter64 base type are not preserved. It is possible that management applications which rely solely upon the (Counter64) ASN.1 tag to determine object semantics will mistakenly operate upon objects of this type as they would for Counter64 objects. This textual convention represents a limited and short-term solution, and may be deprecated as a long term solution is defined and deployed to replace it. (0..18446744073709551615) · Counter64 · bytes

This object indicates the bandwidth pool for RSVP in PfR.

cpfrExitCostTierTable

1.3.6.1.4.1.9.9.772.1.10

Index: cpfrMCIndex · cpfrBRIndex · cpfrExitIndex · cpfrExitCostTierIndex

This table lists the cost tier instances created by the system. This table has an expansion dependent relationship on the cpfrExitTable, containing zero or more rows for each cpfrExitEntry.

cpfrExitCostTierIndex

1.3.6.1.4.1.9.9.772.1.10.1.1

Unsigned32

This object indicates an arbitrary integer-value that uniquely identifies the cost tier of a PfR monitored/controlled exit.

cpfrExitCostTierStorageType

1.3.6.1.4.1.9.9.772.1.10.1.2

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrExitCostTierFee.

cpfrExitCostTierRowStatus

1.3.6.1.4.1.9.9.772.1.10.1.3

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a row in the exit cost tier table. The following columnar objects must be valid in order to transition the row to the active state: cpfrExitCostTierFee. The following columnar objects can be modified when the row is in the active state: None

cpfrExitCostTierFee

1.3.6.1.4.1.9.9.772.1.10.1.4

Unsigned32

This object specifies the cost value of a cost tier.

cpfrTrafficClassTable

1.3.6.1.4.1.9.9.772.1.11

Index: cpfrMCIndex · cpfrTrafficClassIndex

This table lists the TC instances created by the system.

cpfrTrafficClassIndex

1.3.6.1.4.1.9.9.772.1.11.1.1

Unsigned32 (1..4294967295)

This object indicates an arbitrary integer-value that uniquely identifies a TC monitored/controlled by PfR.

cpfrTCBRIndex

1.3.6.1.4.1.9.9.772.1.11.1.2

PfrBorderRouterIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a BR instance. (1..4294967295) · Unsigned32 · hint d

This object indicates the index of the BR on which PfR is controlling the TC.

cpfrTCBRExitIndex

1.3.6.1.4.1.9.9.772.1.11.1.3

PfrExitIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies an Exit instance. (1..4294967295) · Unsigned32 · hint d

This object indicates the index of the exit on which PfR is controlling the TC.

cpfrTCMapIndex

1.3.6.1.4.1.9.9.772.1.11.1.4

PfrMapIndexOrZeroThis textual convention is an extension of the PfrMapIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object indicates the map index of the PfR map defining the policy for the TC.

cpfrTCMapPolicyIndex

1.3.6.1.4.1.9.9.772.1.11.1.5

PfrMapPolicyIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a PfR policy instance of a PfR map. (1..4294967295) · Unsigned32 · hint d

This object indicates the map policy index of the PfR map defining the policy for the TC.

cpfrTrafficClassValid

1.3.6.1.4.1.9.9.772.1.11.1.6

BITS

This object indicates which objects in the traffic class table are valid. If an attribute of a TC is configured, the corresponding bit in this object should be set. 'source' Source address is valid. 'destination' Destination address is valid. 'sourcePort' Source port object in the entry is valid. 'destinationPort' Destination port object in the entry is valid. 'dscp' DSCP object in the entry is valid. 'protocol' Protocol object in the entry is valid. 'nbar' NBAR object in the entry is valid.

cpfrTCSrcPrefixType

1.3.6.1.4.1.9.9.772.1.11.1.7

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object indicates the type of IP address indicated by the corresponding instance of cpfrTCSrcPrefix.

cpfrTCSrcPrefix

1.3.6.1.4.1.9.9.772.1.11.1.8

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object indicates the source IP prefix of the corresponding TC.

cpfrTCSrcPrefixLen

1.3.6.1.4.1.9.9.772.1.11.1.9

Gauge32

This object indicates the prefix length of source IP address for the TC.

cpfrTCSrcMinPort

1.3.6.1.4.1.9.9.772.1.11.1.10

CiscoPortThe TCP or UDP port number range.Reference: Transmission Control Protocol. J. Postel. RFC793, User Datagram Protocol. J. Postel. RFC768 (0..65535) · Integer32

This object indicates the minimum source port number for a TC.

cpfrTCSrcMaxPort

1.3.6.1.4.1.9.9.772.1.11.1.11

CiscoPortThe TCP or UDP port number range.Reference: Transmission Control Protocol. J. Postel. RFC793, User Datagram Protocol. J. Postel. RFC768 (0..65535) · Integer32

This object indicates the maximum source port number for a TC

cpfrTCDstPrefixType

1.3.6.1.4.1.9.9.772.1.11.1.12

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object indicates the type of IP address indicated by the corresponding instances of cpfrTCDstPrefix.

cpfrTCDstPrefix

1.3.6.1.4.1.9.9.772.1.11.1.13

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object indicates the destination IP prefix of the corresponding TC.

cpfrTCDstPrefixLen

1.3.6.1.4.1.9.9.772.1.11.1.14

Gauge32

This object indicates the prefix length of destination IP address for the TC.

cpfrTCDstMinPort

1.3.6.1.4.1.9.9.772.1.11.1.15

CiscoPortThe TCP or UDP port number range.Reference: Transmission Control Protocol. J. Postel. RFC793, User Datagram Protocol. J. Postel. RFC768 (0..65535) · Integer32

This object indicates the minimum destination port of a TC.

cpfrTCDstMaxPort

1.3.6.1.4.1.9.9.772.1.11.1.16

CiscoPortThe TCP or UDP port number range.Reference: Transmission Control Protocol. J. Postel. RFC793, User Datagram Protocol. J. Postel. RFC768 (0..65535) · Integer32

This object indicates the maximum destination port of a TC

cpfrTCDscpValue

1.3.6.1.4.1.9.9.772.1.11.1.17

DscpOrAnyThe IP header Differentiated Services Code-Point that may be used for discriminating among traffic streams. The value -1 is used to indicate a wild card i.e. any value.Reference: RFC 2474, RFC 2780 (-1 | 0..63) · Integer32 · hint d

This object indicates the Differentiated Services Code Point (DSCP) value of a TC.

cpfrTCProtocol

1.3.6.1.4.1.9.9.772.1.11.1.18

INTEGER1 = static2 = eigrp3 = ribpbr4 = bgp5 = pbr6 = cce7 = unknown · Integer32 · bgp

This object indicates the routing protocol by a TC.

cpfrTCNbarApplication

1.3.6.1.4.1.9.9.772.1.11.1.19

CiscoPdProtocolIndexAn object which represents a unique identifier for a protocol or application which NBAR currently recognizes. The value of this object is defined in the cnpdSupportedProtocolsTable. · Unsigned32

This object indicates the application or protocol recognized by NBAR. The value of this object points to an entry in cnpdSupportedProtocolsTable, which describes the recognized protocol, and is defined in CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.

cpfrTrafficClassStatusTable

1.3.6.1.4.1.9.9.772.1.12

Index: cpfrMCIndex · cpfrTrafficClassIndex

This table lists the TC status instances created by the system. This table has an one-to-one relationship with cpfrTrafficClassTable, containing a row for each entry in cpfrTrafficClassTable.

cpfrTCStatus

1.3.6.1.4.1.9.9.772.1.12.1.1

INTEGER1 = default2 = choose3 = holddown4 = inpolicy5 = oopolicy · Integer32

This object indicates the current state of a TC. 'default' The state means that the parent IP routes control the exit for this destination prefix. This would be the same behavior as if PfR were not configured or was shutdown. 'choose' The state indicates PfR is choosing the exit for the prefix. 'holddown' The state is seen when a TC is initially controlled by PfR. This holddown concept is applied to prevent churning or erratic behavior of PfR managed routes from being injected and withdrawn from the IP routing table (and subsequently being redistributed by some IGP) or BGP tables. 'inpolicy' This state means that the prefix meets the policy associated with this prefix or application. 'oopolicy' The prefix or application has been identified as failing to meet its respective policy.

cpfrTCSType

1.3.6.1.4.1.9.9.772.1.12.1.2

INTEGER1 = learned2 = configured · Integer32

This object indicates whether a TC was learned or configured. 'learned' The TC is learned by PfR. 'configured' The TC is configured via CLI command.

cpfrTCSLearnListIndex

1.3.6.1.4.1.9.9.772.1.12.1.3

PfrLearnListIndexOrZeroThis textual convention is an extension of the PfrLearnListIndex convention. This extension permits the additional value of zero. The value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. · Unsigned32 · hint d

This object indicates the index of the learn list responsible for PfR learning this TC.

cpfrTCSTimeOnCurrExit

1.3.6.1.4.1.9.9.772.1.12.1.4

Gauge32 · seconds

This object indicates the length of time the TC has been controlled on the current exit.

cpfrTCSControlState

1.3.6.1.4.1.9.9.772.1.12.1.5

INTEGER1 = controlled2 = uncontrolled · Integer32

The object indicates the control state of a TC. 'controlled' PfR is controlling this TC. 'uncontrolled' PfR is not controlling this TC.

cpfrTCSControlBy

1.3.6.1.4.1.9.9.772.1.12.1.6

INTEGER1 = static2 = eigrp3 = ribpbr4 = bgp5 = pbr6 = cce7 = unknown · Integer32

This object indicates which routing protocol a TC is being controlled by. 'static' TC is controlled by static routing protocol. 'eigrp' TC is controlled by EIGRP. 'ribpbr' TC is controlled by RIB. 'bgp' TC is controlled by BGP 'pbr' TC is controlled by PBR. 'cce' TC is controlled by CCE. 'unknown' TC os controlled by unknown protocols

cpfrTCSTimeRemainCurrState

1.3.6.1.4.1.9.9.772.1.12.1.7

Gauge32 · seconds

This object indicates the time remaining before the prefix timer expires.

cpfrTCSLastOOPEventTime

1.3.6.1.4.1.9.9.772.1.12.1.8

TimeStampThe value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type. If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects. · TimeTicks

This object indicates the time when the last out-of-policy event was observed.

cpfrTCSLastOOPReason

1.3.6.1.4.1.9.9.772.1.12.1.9

INTEGER1 = delayOOPPassiveMode2 = lossOOPPassiveMode3 = unreachableOOPPassiveMode4 = delayOOPActiveMode5 = lossOOPActiveMode6 = unreachableOOPActiveMode7 = jitterOOPActiveMode8 = mosOOPActiveMode9 = none10 = rsvpOOPRecomputeExclude · Integer32

This object indicates the last out-of-policy reason. This object indicates the reason that causes an out-of-policy event. 'delayOOPassiveMode' The Delay is out of policy in passive mode. 'lossOOPassiveMode' The loss is out of policy in passive mode. 'unreachableOOPassiveMode' The unreachability rate is out of policy in passive mode. 'delayOOPActiveMode' The Delay is out of policy in active mode. 'lossOOPActiveMode' The loss is out of policy in active mode. 'unreachableOOPActiveMode' The unreachability rate is out of policy in active mode. 'jitterOOPActiveMode' The jitter is out of policy in active mode. 'mosOOPActiveMode' The mos is out of policy in active mode. 'none' no reason. 'rsvpRecomputeExclude' The TC was excluded by recomputing RSVP bandwidth.

cpfrTCSLastRouteChangeEvent

1.3.6.1.4.1.9.9.772.1.12.1.10

TimeStampThe value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type. If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects. · TimeTicks

This object indicates the value of sysUpTime when the last route change occurred for this TC.

cpfrTCSLastRouteChangeReason

1.3.6.1.4.1.9.9.772.1.12.1.11

PfrLastUncontrolReason1 = none2 = activatingUnsedFcdTgt3 = ifaceDown4 = newProbeTargetAssigned5 = newTargetAssigned6 = borderDown7 = uncontrolNonOptimizedPfx8 = recontrolNull0Pfx9 = recontrolSinkHolePfx10 = modeRouteChange11 = pfxEnabled12 = uncontrolModeMonitorChange13 = insideEnabled14 = forcedNextHop15 = forwardToNull016 = clearOnePfx17 = clearOneTc18 = grantUpdated19 = tcInFastMode20 = pbrBRTopologyChange21 = pfrReqNotMet22 = probeFrequencyChange23 = fcdTgtAssRemMod24 = policyChangedAddedNewFcdProbeTgt25 = usingFcdTgtNow26 = firstTargetWithDscpAdded27 = usingLmNow28 = lastTargetWithDscpRemoved29 = couldntMonitor30 = couldntControl31 = applControlOnBrFailed32 = allProtoCouldNtControl33 = excludePfxFailed34 = ipflowRestFailed35 = couldntExclude36 = dontDowngradeAllEntrances37 = maxDownGrade38 = cantSelectEntrances39 = unhandledOopReasonInChooseExit40 = oopModeSelectExitGood41 = couldntFindBestExitInAllLinkGrps42 = couldntFindBestExit43 = failedToControlRoute44 = endOfProbing45 = retryForcedNextHop46 = noStatusInPfxTimeout47 = couldntChooseExitInPfxTimeout48 = inconsistentView49 = unableToSendControlMsg50 = nbarIdStateUpdated51 = controledExitIsNotCurrent52 = exitMisMatch53 = newExitWhileInpolicy54 = unknownExit55 = controlledExitIsNotCurrForUpd56 = couldntControlPasPfxInSpecMode57 = remoteStatsNotFound58 = nbarInternalIfAddedRemoved59 = noPassiveData60 = probeNumPktsChanged61 = lastThis textual convention denotes all types of uncontrol reasons that causes PfR to uncontrol a TC. 'none' TC is uncontrolled due to unknown reasons. 'activatingUnsedFcdTgt' TC is uncontrolled due to activating an unused forced target. 'ifaceDown' TC is uncontrolled due to an interface down. 'newProbeTargetAssigned' TC is uncontrolled due to newly assigned probe targets. 'newTargetAssigned' TC is uncontrolled due to newly assigned targets. 'borderDown' TC is uncontrolled due to BR down. 'uncontrolNonOptimizedPfx' TC is uncontrolled due to uncontrolled non optimized prefixes. 'recontrolNull0Pfx' TC is uncontrolled due to recontrolling a null0 prefix. 'recontrolSinkHolePfx' TC is uncontrolled due to recontrolling a sink hole prefix. 'modeRouteChange' TC is uncontrolled due to route mode change. 'pfxEnabled' TC is uncontrolled due to prefix enabled. 'uncontrolModeMonitorChange' TC is uncontrolled due to monitor mode change. 'insideEnabled' TC is uncontrolled due to inside prefix learn enabled. 'forcedNextHop' TC is uncontrolled due to forced next hop configured. 'forwardToNull0' TC is uncontrolled since TCs are forwarded to null0 interfaces. 'clearOnePfx' TC is uncontrolled due to clearing one prefix. 'clearOneTc' TC is uncontrolled due to clearing one TC. 'grantUpdated' TC is uncontrolled due to granted update. 'tcInFastMode' TC is uncontrolled due to TC in fast mode. 'pbrBRTopologyChange' TC is uncontrolled due to BR topology change when PBR is met. 'pfrReqNotMet' TC is uncontrolled since PfR requests are not met. 'probeFrequencyChange' TC is uncontrolled due to probe frequency change. 'fcdTgtAssRemMod' TC is uncontrolled due to assigned force target removed. 'policyChangedAddedNewFcdProbeTgt' TC is uncontrolled due to newly added forced probe target. 'usingFcdTgtNow' TC is uncontrolled due to starting using forced target. 'firstTargetWithDscpAdded' TC is uncontrolled due to newly added target with DSCP. 'lastTargetWithDscpRemoved' TC is uncontrolled due to last target with DSCP removed. 'couldntMonitor' TC is uncontrolled since PfR could not monitor it. 'couldntControl' TC is uncontrolled since PfR could not control it. 'applControlOnBrFailed' TC is uncontrolled since PfR could not control an application. 'allProtoCouldNtControl' TC is uncontrolled since control attempts by all protocols fail. 'excludePfxFailed' TC is uncontrolled due to failing excluding a prefix. 'ipflowRestFailed' TC is uncontrolled due to ip flow reset failure. 'couldntExclude' TC is uncontrolled due to failing excluding prefixes. 'dontDowngradeAllEntrances' TC is uncontrolled due to no downgrade all entrance. 'maxDownGrade' TC is uncontrolled due to maximizing downgrade. 'cantSelectEntrances' TC is uncontrolled since PfR cannot select entrances. 'unhandledOopReasonInChooseExit' TC is uncontrolled due to unhandled out of policy reason when choosing exit. 'oopModeSelectExitGood' TC is uncontrolled due to out of policy when selecting good exit. 'couldntFindBestExitInAllLinkGrps' TC is uncontrolled since PfR could not find best exit in all linkgroups. 'couldntFindBestExit' TC is uncontrolled since PfR could not find best exit. 'failedToControlRoute' TC is uncontrolled due to route control failure. 'endOfProbing' TC is uncontrolled due to the end of active probing. 'retryForcedNextHop' TC is uncontrolled due to retrying forced next hop. 'noStatusInPfxTimeout' TC is uncontrolled due to missing status before the time is out for controlling a prefix. 'couldntChooseExitInPfxTimeout' TC is uncontrolled since PfR could not choose exit before the time is out for controlling a prefix. 'unableToSendControlMsg' TC is uncontrolled since control messages could not be sent out. 'nbarIdStateUpdated' TC is uncontrolled due to nbar state update failure. 'exitMisMatch' TC is uncontrolled due to exit mismatch. 'unknownExit' TC is uncontrolled due to unknown exits. 'newExitWhileInpolicy' TC is uncontrolled due to new exit appearance. 'couldntControlPasPfxInSpecMode' TC is uncontrolled since PfR could not control passive prefixes in specific mode. 'remoteStatsNotFound' TC is uncontrolled due to unclear remote statistic data. 'nbarInternalIfAddedRemoved' TC is uncontrolled since NBAR internal interface is added or removed. 'noPassiveData' TC is uncontrolled due to lack of passive data. 'probeNumPktsChanged' TC is uncontrolled due to the number of probing packets changed. · Integer32

This object indicates the reason the last route change occurred.

cpfrTrafficClassMetricTable

1.3.6.1.4.1.9.9.772.1.13

Index: cpfrMCIndex · cpfrTrafficClassIndex

This table lists the TC's metrics instances created by the system. This table has an one-to-one relationship with cpfrTrafficClassTable, containing a row for each entry in cpfrTrafficClassTable.

cpfrTCMLastUpdateTime

1.3.6.1.4.1.9.9.772.1.13.1.1

TimeStampThe value of the sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type. If sysUpTime is reset to zero as a result of a re- initialization of the network management (sub)system, then the values of all TimeStamp objects are also reset. However, after approximately 497 days without a re- initialization, the sysUpTime object will reach 2^^32-1 and then increment around to zero; in this case, existing values of TimeStamp objects do not change. This can lead to ambiguities in the value of TimeStamp objects. · TimeTicks

This object indicates the value of sysUpTime when the metrics were last updated.

cpfrTCMAge

1.3.6.1.4.1.9.9.772.1.13.1.2

Gauge32 · seconds

This object indicates the age of a metric.

cpfrTCMetricsValid

1.3.6.1.4.1.9.9.772.1.13.1.3

BITS

This object indicates if an object in the entry is valid. 'relativeDelay' Relative delay is a valid value. 'relativeJitter' Relative jitter is a valid value. 'relativeDelayLoss' Relative loss is a valid value. 'relativeDelayUnreachable' Relative unreachability rate is a valid value. 'activeDelay' Absolute delay is a valid value. 'activeJitter' Absolute jitter is a valid value. 'activeLoss' Absolute loss is a valid value. 'activeUnreachable' Absolute unreachable rate is a valid value. 'mosPercentage' Most percentage is a valid value. 'attempts' The number of attempts is a valid value. 'packets' Probe packet is a valid value. 'passiveSTUnreachableAvg' Short time unreachability rate in passive mode is a valid value. 'passiveSTDelayAvg' Short time delay in passive mode is a valid value. 'passiveSTLossAvg' Short time loss in passive mode is a valid value. 'activeSTUnreachableAvg' Short time unreachability rate in active mode is a valid value. 'activeSTDelayAvg' Short time delay in active mode is a valid value. 'passiveLTUnreachableAvg' Long time unreachability rate in passive mode is a valid value. 'passiveLTDelayAvg' Long time delay in passive mode is a valid value. 'passiveLTLossAvg' Long time loss in passive mode is a valid value. 'activeLTUnreachableAvg' Long time unreachability rate in active mode is a valid value. 'activeLTDelayAvg' Long time delay in active mode is a valid value.

cpfrTCMActiveSTJitterAvg

1.3.6.1.4.1.9.9.772.1.13.1.4

Gauge32 · percent

This object indicates average jitter of a TC in active mode.

cpfrTCMMOSPercentage

1.3.6.1.4.1.9.9.772.1.13.1.5

Gauge32 (0..100) · percent

This object indicates the number of Mean Opinion Score (MOS) packets with a percentage below threshold in active mode.

cpfrTCMAttempts

1.3.6.1.4.1.9.9.772.1.13.1.6

Gauge32 · attempts

This object indicates the number of attempts to send an active probe to a target for this TC.

cpfrTCMPackets

1.3.6.1.4.1.9.9.772.1.13.1.7

Gauge32 · Packets/probe

This object indicates the number packets per jitter probe.

cpfrTCMPassiveSTUnreachableAvg

1.3.6.1.4.1.9.9.772.1.13.1.8

Gauge32 · flows-per-million

This object indicates the number of the average short term unreachable targets in passive mode.

cpfrTCMPassiveSTDelayAvg

1.3.6.1.4.1.9.9.772.1.13.1.9

Gauge32

This object indicates the short term delay as measured by Netflow. The short term interval is 5 minutes.

cpfrTCMPassiveSTLossAvg

1.3.6.1.4.1.9.9.772.1.13.1.10

Gauge32 · packets

This object indicates the number of short term packets lost in passive mode.

cpfrTCMActiveSTUnreachableAvg

1.3.6.1.4.1.9.9.772.1.13.1.11

Gauge32 · flows-per-million

This object indicates the number of short term unreachable packets in active mode.

cpfrTCMActiveSTDelayAvg

1.3.6.1.4.1.9.9.772.1.13.1.12

Gauge32

This object indicates the short term delay in milliseconds in active mode.

cpfrTCMPassiveLTUnreachableAvg

1.3.6.1.4.1.9.9.772.1.13.1.13

Gauge32

This object indicates the number of long term unreachable packets in flows-per-million in passive mode.

cpfrTCMPassiveLTDelayAvg

1.3.6.1.4.1.9.9.772.1.13.1.14

Gauge32

This object indicates the long term delay in milliseconds in passive mode.

cpfrTCMPassiveLTLossAvg

1.3.6.1.4.1.9.9.772.1.13.1.15

Gauge32

This object indicates the number of packets lost over the long term in packets-per-million in passive mode.

cpfrTCMActiveLTUnreachableAvg

1.3.6.1.4.1.9.9.772.1.13.1.16

Gauge32

This object indicates the number of long term unreachable packets in flows-per-million in active mode.

cpfrTCMActiveLTDelayAvg

1.3.6.1.4.1.9.9.772.1.13.1.17

Gauge32

This object indicates the long term delay in milliseconds in active mode.

cpfrLinkGroupExitTable

1.3.6.1.4.1.9.9.772.1.14

Index: cpfrMCIndex · cpfrLinkGroupName · cpfrLinkGroupIndex

This table lists the link group instances created by the system. It has an expansion dependent relationship on cpfrExitTable, containing zero or more rows for each cpfrExitEntry.

cpfrLinkGroupName

1.3.6.1.4.1.9.9.772.1.14.1.1

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (1..64) · OCTET STRING · hint 255t

This object indicates the name of a link-group.

cpfrLinkGroupIndex

1.3.6.1.4.1.9.9.772.1.14.1.2

Unsigned32

This object indicates a unique arbitrary number identifying a specific instance in a link-group with the identical name.

cpfrLinkGroupStorageType

1.3.6.1.4.1.9.9.772.1.14.1.3

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this entry is permanent(4): cpfrLinkGroupBRIndex, cpfrLinkGroupExitIndex.

cpfrLinkGroupRowStatus

1.3.6.1.4.1.9.9.772.1.14.1.4

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a NBAR application list. The following columnar objects must be valid in order to transition the row to the active state: None. The following columnar objects can be modified when the row is in the active state: None

cpfrLinkGroupBRIndex

1.3.6.1.4.1.9.9.772.1.14.1.5

PfrBorderRouterIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies a BR instance. (1..4294967295) · Unsigned32 · hint d

This object specifies the PfR BR on which the exit related to this link group is configured.

cpfrLinkGroupExitIndex

1.3.6.1.4.1.9.9.772.1.14.1.6

PfrExitIndexThis textual convention denotes an arbitrary integer-value that uniquely identifies an Exit instance. (1..4294967295) · Unsigned32 · hint d

This object specifies the exit, identified by this index, in combination with cpfrLinkGroupBRIndex, in cpfrExitTable.

cpfrLinkGroupType

1.3.6.1.4.1.9.9.772.1.14.1.7

INTEGER1 = primaryLinkGroup2 = fallbackLinkGroup3 = none · Integer32

This object indicates PfR Link-Group type. 'primaryLinkGroup' primary link-group 'fallbackLinkGroup' fallback link-group 'none' There is no link-group.

cpfrNbarApplListTable

1.3.6.1.4.1.9.9.772.1.15

Index: cpfrNbarApplListName · cpfrNbarApplIndex

This table lists the NBAR list instances created by the system. This table has an expansion dependent relationship on cpfrMatchTable and cpfrLearnListTable, containing zero or more rows for each cpfrMatchEntry and cpfrLearnListEntry.

cpfrNbarApplListName

1.3.6.1.4.1.9.9.772.1.15.1.1

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (1..64) · OCTET STRING · hint 255t

This object indicates the name of a NBAR application list.

cpfrNbarApplIndex

1.3.6.1.4.1.9.9.772.1.15.1.2

Unsigned32

This object indicates a unique arbitrary number identifying a specific protocol in a PfR NBAR Application List.

cpfrNbarApplListStorageType

1.3.6.1.4.1.9.9.772.1.15.1.3

StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted. If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.) Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32

This object specifies the memory realization of the row. The following columnar objects are allowed to be writable when the storageType of this conceptual row is permanent(4): cpfrNbarApplPdIndex.

cpfrNbarApplListRowStatus

1.3.6.1.4.1.9.9.772.1.15.1.4

RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - `active', which indicates that the conceptual row is available for use by the managed device; - `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device; - `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated); - `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device; - `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: `notReady', `notInService' or `active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'. Also note that whenever any elements of a row exist, the RowStatus column must also exist. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D|see 8 ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|see 6 --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError ->A column to | | | | or destroy | ->A| ->A| ->A|see 7 --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |see 5 column to some| | | | value | | see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, the return value may be either: inconsistentName: because the agent does not choose to create such an instance when the corresponding RowStatus instance does not exist, or inconsistentValue: if the supplied value is inconsistent with the state of some other MIB object's value, or noError: because the agent chooses to create the instance. If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A. (5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned. (6) the return value can indicate one of the following errors: wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated. (7) the return value can indicate the following error: inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated. (8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue. NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance-identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'. NOTE WELL A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row. Conceptual Row Suspension When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady', `notInService' or `active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed. · Integer32

This object specifies the status of a NBAR application list. The following columnar objects must be valid in order to transition the row to the active state: None. The following columnar objects can be modified when the row is in the active state: None

cpfrNbarApplPdIndex

1.3.6.1.4.1.9.9.772.1.15.1.5

CiscoPdProtocolIndexAn object which represents a unique identifier for a protocol or application which NBAR currently recognizes. The value of this object is defined in the cnpdSupportedProtocolsTable. · Unsigned32

This object indicates the application or protocol recognized by NBAR. The value of this object points to an entry in cnpdSupportedProtocolsTable, which describes the recognized protocol and is defined in CISCO-NBAR-PROTOCOL-DISCOVERY-MIB.

Trap details

cpfrMCStatusChangeNotify

1.3.6.1.4.1.9.9.772.0.1

The device generates this notification when one of cpfrMCLoggingAdminStatus, cpfrMCAdminStatus, cpfrMCControlMode, cpfrMCClear, on PfR master controller is changed.

cpfrMCChangeConfigType

1.3.6.1.4.1.9.9.772.1.1.1.31

INTEGER1 = cpfrMCLoggingAdminStatus2 = cpfrMCAdminStatus3 = cpfrMCControlMode4 = cpfrMCClear · Integer32

This object indicates which of the following configuration is changed. 'cpfrMCLoggingAdminStatus' cpfrMCLoggingAdminStatus is changed. 'cpfrMCAdminStatus' cpfrMCAdminStatus is changed. 'cpfrMCControlMode' cpfrMCControlMode is changed. 'cpfrMCClear' cpfrMCClear is changed.

cpfrMCChangeConfigValue

1.3.6.1.4.1.9.9.772.1.1.1.32

Integer32

This object indicates the value to which the type of configuration specified in cpfrMCChangeConfigType, is changed.

cpfrBRStatusChangeNotify

1.3.6.1.4.1.9.9.772.0.2

The device generates this notification when the master controller detects a status change with a border router.

cpfrBRAddressType

1.3.6.1.4.1.9.9.772.1.8.1.4

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the IP address type of a PfR BR.

cpfrBRAddress

1.3.6.1.4.1.9.9.772.1.8.1.5

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies the IP address of a PfR BR

cpfrBROperStatus

1.3.6.1.4.1.9.9.772.1.8.1.7

INTEGER1 = active2 = inactive · Integer32

This object indicates the operational status of PfR BR. 'active' BR is active. 'inactive' BR is inactive.

cpfrBRConnStatus

1.3.6.1.4.1.9.9.772.1.8.1.8

INTEGER1 = up2 = down · Integer32

This object indicates the connection status between BR and MC. 'up' BR is successfully connected to the MC. 'down' BR is not connected to the MC.

cpfrBRConnFailureReason

1.3.6.1.4.1.9.9.772.1.8.1.10

INTEGER1 = versionMismatch2 = none3 = authFailure4 = socketError5 = timerExpired · Integer32

This object indicates the reason why the connection status between the BR and MC fails. 'versionmismatch' The software version between MC and BR does not match. 'none' No failure reason. 'authFailure' authentication failed. 'socketError' socket was closed with an error. 'timerExpired' connection was closed with keepalive timer expiration.

cpfrExitStatusChangeNotify

1.3.6.1.4.1.9.9.772.0.3

The device generates this notification when the master controller detects a status change with an exit link.

cpfrExitName

1.3.6.1.4.1.9.9.772.1.9.1.4

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of a PfR controlled interface on a BR.

cpfrExitType

1.3.6.1.4.1.9.9.772.1.9.1.5

INTEGER1 = internal2 = external · Integer32

This object specifies the exit type. 'internal' The interface is an internal interface. Internal interfaces are used for communication between BRs. 'external' The interface is an external interface. External interfaces are used for active and passive monitoring and traffic forwarding.

cpfrExitOperStatus

1.3.6.1.4.1.9.9.772.1.9.1.50

INTEGER1 = up2 = down · Integer32

This object indicates the current status of an exit. 'up' The exit is up. 'down' The exit is down.

cpfrBRAddressType

1.3.6.1.4.1.9.9.772.1.8.1.4

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the IP address type of a PfR BR.

cpfrBRAddress

1.3.6.1.4.1.9.9.772.1.8.1.5

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies the IP address of a PfR BR

cpfrTrafficClassEventNotify

1.3.6.1.4.1.9.9.772.0.4

The device generates this notification when the master controller detects a traffic class status event.

cpfrTCStatus

1.3.6.1.4.1.9.9.772.1.12.1.1

INTEGER1 = default2 = choose3 = holddown4 = inpolicy5 = oopolicy · Integer32

This object indicates the current state of a TC. 'default' The state means that the parent IP routes control the exit for this destination prefix. This would be the same behavior as if PfR were not configured or was shutdown. 'choose' The state indicates PfR is choosing the exit for the prefix. 'holddown' The state is seen when a TC is initially controlled by PfR. This holddown concept is applied to prevent churning or erratic behavior of PfR managed routes from being injected and withdrawn from the IP routing table (and subsequently being redistributed by some IGP) or BGP tables. 'inpolicy' This state means that the prefix meets the policy associated with this prefix or application. 'oopolicy' The prefix or application has been identified as failing to meet its respective policy.

cpfrTCSLastOOPReason

1.3.6.1.4.1.9.9.772.1.12.1.9

INTEGER1 = delayOOPPassiveMode2 = lossOOPPassiveMode3 = unreachableOOPPassiveMode4 = delayOOPActiveMode5 = lossOOPActiveMode6 = unreachableOOPActiveMode7 = jitterOOPActiveMode8 = mosOOPActiveMode9 = none10 = rsvpOOPRecomputeExclude · Integer32

This object indicates the last out-of-policy reason. This object indicates the reason that causes an out-of-policy event. 'delayOOPassiveMode' The Delay is out of policy in passive mode. 'lossOOPassiveMode' The loss is out of policy in passive mode. 'unreachableOOPassiveMode' The unreachability rate is out of policy in passive mode. 'delayOOPActiveMode' The Delay is out of policy in active mode. 'lossOOPActiveMode' The loss is out of policy in active mode. 'unreachableOOPActiveMode' The unreachability rate is out of policy in active mode. 'jitterOOPActiveMode' The jitter is out of policy in active mode. 'mosOOPActiveMode' The mos is out of policy in active mode. 'none' no reason. 'rsvpRecomputeExclude' The TC was excluded by recomputing RSVP bandwidth.

cpfrBRAddressType

1.3.6.1.4.1.9.9.772.1.8.1.4

InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address. unknown(0) An unknown address type. This value MUST be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below. ipv4(1) An IPv4 address as defined by the InetAddressIPv4 textual convention. ipv6(2) An IPv6 address as defined by the InetAddressIPv6 textual convention. ipv4z(3) A non-global IPv4 address including a zone index as defined by the InetAddressIPv4z textual convention. ipv6z(4) A non-global IPv6 address including a zone index as defined by the InetAddressIPv6z textual convention. dns(16) A DNS domain name as defined by the InetAddressDNS textual convention. Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType. To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation. Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32

This object specifies the IP address type of a PfR BR.

cpfrBRAddress

1.3.6.1.4.1.9.9.772.1.8.1.5

InetAddressDenotes a generic Internet address. An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row. The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error. When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0..255) · OCTET STRING

This object specifies the IP address of a PfR BR

cpfrExitName

1.3.6.1.4.1.9.9.772.1.9.1.4

SnmpAdminStringAn octet string containing administrative information, preferably in human-readable form. To facilitate internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for any object instance does not exceed the limit of 128, as defined by [RFC3416]. Note that the size of an SnmpAdminString object is measured in octets, not characters. SIZE (0..255) · OCTET STRING · hint 255t

This object specifies the name of a PfR controlled interface on a BR.

cpfrLinkGroupType

1.3.6.1.4.1.9.9.772.1.14.1.7

INTEGER1 = primaryLinkGroup2 = fallbackLinkGroup3 = none · Integer32

This object indicates PfR Link-Group type. 'primaryLinkGroup' primary link-group 'fallbackLinkGroup' fallback link-group 'none' There is no link-group.

cpfrTCInpolicyThresholdBelowNotify

1.3.6.1.4.1.9.9.772.0.5

The device generates this notification, when the master controller detects number of in-policy traffic class falls below the configured threshold.

cpfrMapEventNotifCtrlType

1.3.6.1.4.1.9.9.772.1.2.1.38

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the event notification control type configuration used by PfR. It is used to set the relative percentage or the absolute threshold value for cpfrMapEventNotifCtrlThreshold object.

cpfrMapEventNotifCtrlThreshold

1.3.6.1.4.1.9.9.772.1.2.1.39

Unsigned32

This object specifies the absolute event counter threshold or relative percentage threshold used by PfR to throttle the generation of cpfrTCInpolicyThresholdBelowNotify and cpfrTCPrimaryThresholdBelowNotify. If the value is relative percentage threshold, then the notification is generated if cpfrMapEventTCCount over total TC count is more than the value of this percentage. - If the value is absolute event counter threshold, then the notification is generated if cpfrEventTrapTCCount is more than this value.

cpfrMapEventTCCount

1.3.6.1.4.1.9.9.772.1.2.1.40

Unsigned32

This object specifies the current absolute number of traffic classes, whose state are 'default' or 'oopolicy' specified by cpfrTCStatus.

cpfrTCPrimaryThresholdBelowNotify

1.3.6.1.4.1.9.9.772.0.6

The device generates this notification, when the master controller detects number of in-policy traffic classes at primary link group falls below the configured threshold.

cpfrMapEventNotifCtrlType

1.3.6.1.4.1.9.9.772.1.2.1.38

PfrMetricPolicyType1 = relative2 = threshold'relative' Relative percentage is used. 'threshold' Maximum threshold is used. · Integer32

This object specifies the event notification control type configuration used by PfR. It is used to set the relative percentage or the absolute threshold value for cpfrMapEventNotifCtrlThreshold object.

cpfrMapEventNotifCtrlThreshold

1.3.6.1.4.1.9.9.772.1.2.1.39

Unsigned32

This object specifies the absolute event counter threshold or relative percentage threshold used by PfR to throttle the generation of cpfrTCInpolicyThresholdBelowNotify and cpfrTCPrimaryThresholdBelowNotify. If the value is relative percentage threshold, then the notification is generated if cpfrMapEventTCCount over total TC count is more than the value of this percentage. - If the value is absolute event counter threshold, then the notification is generated if cpfrEventTrapTCCount is more than this value.

cpfrMapEventTCCount

1.3.6.1.4.1.9.9.772.1.2.1.40

Unsigned32

This object specifies the current absolute number of traffic classes, whose state are 'default' or 'oopolicy' specified by cpfrTCStatus.

↑ To TOC