| OID symbolic | OID numeric | Type | Access | Description |
| cpwModuleCompliance | 1.3.6.1.4.1.9.10.106.3.2.1 | | | The compliance statement for agent that support PW
operation. |
| INT cpwVcAdminStatus | 1.3.6.1.4.1.9.10.106.1.2.1.25 | INTEGER | read-create | The desired operational status of this VC. |
| cpwVcCompliances | 1.3.6.1.4.1.9.10.106.3.2 | | | |
| cpwVcConformance | 1.3.6.1.4.1.9.10.106.3 | | | |
| T/F cpwVcControlWord | 1.3.6.1.4.1.9.10.106.1.2.1.12 | TruthValue | read-create | Define if the control word will be sent with each packet by
the local node. |
| TIM cpwVcCreateTime | 1.3.6.1.4.1.9.10.106.1.2.1.23 | TimeStamp | read-only | System time when this VC was created. |
| STR cpwVcDescr | 1.3.6.1.4.1.9.10.106.1.2.1.22 | SnmpAdminString | read-create | A textual string containing information about the VC.
If there is no description this object contains a zero
length string. |
| NTF cpwVcDown | 1.3.6.1.4.1.9.10.106.2.1 | | | This notification is generated when the
cpwVcOperStatus object for one or more contiguous
entries in cpwVcTable are about to enter the
down(2) state from some other state. The included values
of cpwVcOperStatus MUST all be set equal to this
down(2) state. The two instances of cpwVcOperStatus
in this notification indicate the range of indexes
that are affected. Note that all the indexes of the
two ends of the range can be derived from the
instance identifiers of these two objects. For
cases where a contiguous range of cross-connects
have transitioned into the down(2) state at roughly
the same time, the device SHOULD issue a single
notification for each range of contiguous indexes in
an effort to minimize the emission of a large number
of notifications. If a notification has to be
issued for just a single cross-connect entry, then
the instance identifier (and values) of the two
cpwVcOperStatus objects MUST be identical. |
| cpwVcEntry | 1.3.6.1.4.1.9.10.106.1.2.1 | | not-accessible | A row in this table represents an emulated virtual
connection (VC) across a packet network. It is indexed by
cpwVcIndex, which uniquely identifying a singular
connection. |
| cpwVcGroup | 1.3.6.1.4.1.9.10.106.3.1.1 | | | Collection of objects needed for PW VC
configuration. |
| cpwVcGroups | 1.3.6.1.4.1.9.10.106.3.1 | | | |
| I32 cpwVcHoldingPriority | 1.3.6.1.4.1.9.10.106.1.2.1.6 | Integer32 | read-create | This object define the relative holding priority of the VC
in a lowest-to-highest fashion, where 0 is the highest
priority. VCs with the same priority are treated with
equal priority. Dropped VC will be set 'dormant' (as
indicated in cpwVcOperStatus).
This value is significant if there are competing resources
between VCs and the implementation support this feature.
If not supported or not relevant, the value of zero MUST
be used. |
| CPW cpwVcID | 1.3.6.1.4.1.9.10.106.1.2.1.10 | CpwVcIDType | read-create | Used in the outgoing VC ID field within the 'Virtual
Circuit FEC Element' when LDP signaling is used or PW ID
AVP for L2TP. |
| cpwVcIdMappingEntry | 1.3.6.1.4.1.9.10.106.1.7.1 | | not-accessible | An entry in this table is created by the agent for every
VC configured by the cpwVcTable. |
| IP cpwVcIdMappingPeerAddr | 1.3.6.1.4.1.9.10.106.1.7.1.4 | InetAddress | not-accessible | IP address type of the peer node. |
| IPt cpwVcIdMappingPeerAddrType | 1.3.6.1.4.1.9.10.106.1.7.1.3 | InetAddressType | not-accessible | IP address type of the peer node. |
| cpwVcIdMappingTable | 1.3.6.1.4.1.9.10.106.1.7 | | not-accessible | This table provides reverse mapping of the existing VCs
based on vc type and VC ID ordering. This table is
typically useful for EMS ordered query of existing VCs. |
| CPW cpwVcIdMappingVcID | 1.3.6.1.4.1.9.10.106.1.7.1.2 | CpwVcIDType | not-accessible | The VC ID of this VC. Zero if the VC is configured
manually. |
| CPW cpwVcIdMappingVcIndex | 1.3.6.1.4.1.9.10.106.1.7.1.5 | CpwVcIndexType | read-only | The value that represent the VC in the cpwVcTable. |
| CPW cpwVcIdMappingVcType | 1.3.6.1.4.1.9.10.106.1.7.1.1 | CpwVcType | not-accessible | The VC type (indicate the service) of this VC. |
| INT cpwVcInboundMode | 1.3.6.1.4.1.9.10.106.1.2.1.7 | INTEGER | read-create | This object is used to enable greater security for
implementation that use per platform VC label space. In
strict mode, packets coming from the PSN are accepted only
from tunnels that are associated to the same VC via the
inbound tunnel table in the case of MPLS, or as identified
by the source IP address in case of L2TP or IP PSN. The
entries in the inbound tunnel table are either explicitly
configured or implicitly known by the maintenance protocol
used for VC set-up.
If such association is not known, not configured or not
desired, loose mode should be configured, and the node
should accept the packet based on the VC label only
regardless of the outer tunnel used to carry the VC. |
| CPW cpwVcInboundOperStatus | 1.3.6.1.4.1.9.10.106.1.2.1.27 | CpwOperStatus | read-only | Indicates the actual operational status of this VC in the
inbound direction.
- down: if PW signaling has not yet finished, or
indications available at the service
level indicate that the VC is not
passing packets.
- testing: if AdminStatus at the VC level is set to
test.
- dormant: The VC is not available because of the
required resources are occupied VC with
higher priority VCs .
- notPresent: Some component is missing to accomplish
the set up of the VC.
- lowerLayerDown: The underlying PSN is not in OperStatus
'up'. |
| U32 cpwVcInboundVcLabel | 1.3.6.1.4.1.9.10.106.1.2.1.20 | Unsigned32 | read-create | The VC label used in the inbound direction (i.e. packets
received from the PSN. It may be set up manually if owner
is 'manual' or automatically otherwise.
Examples: For MPLS PSN, it represents the 20 bits of VC
tag, for L2TP it represent the 32 bits Session ID.
If the label is not yet known (signaling in process), the
object should return a value of 0xFFFF. |
| CPW cpwVcIndex | 1.3.6.1.4.1.9.10.106.1.2.1.1 | CpwVcIndexType | not-accessible | Index for the conceptual row identifying a VC within
this PW Emulation VC table. |
| U32 cpwVcIndexNext | 1.3.6.1.4.1.9.10.106.1.1 | Unsigned32 | read-only | This object contains an appropriate value to be used
for cpwVcIndex when creating entries in the
cpwVcTable. The value 0 indicates that no
unassigned entries are available. To obtain the
value of cpwVcIndex for a new entry in the
cpwVcTable, the manager issues a management
protocol retrieval operation to obtain the current
value of cpwVcIndex. After each retrieval
operation, the agent should modify the value to
reflect the next unassigned index. After a manager
retrieves a value the agent will determine through
its local policy when this index value will be made
available for reuse. |
| CPW cpwVcLocalGroupID | 1.3.6.1.4.1.9.10.106.1.2.1.11 | CpwGroupID | read-create | Used in the Group ID field sent to the peer PWES
within the maintenance protocol used for VC setup,
zero if not used. |
| U32 cpwVcLocalIfMtu | 1.3.6.1.4.1.9.10.106.1.2.1.13 | Unsigned32 | read-create | If not equal zero, the optional IfMtu object in the
maintenance protocol will be sent with this value,
representing the locally supported MTU size over the
interface (or the virtual interface) associated with the
VC. |
| T/F cpwVcLocalIfString | 1.3.6.1.4.1.9.10.106.1.2.1.14 | TruthValue | read-create | Each VC is associated to an interface (or a virtual
interface) in the ifTable of the node as part of the
service configuration. This object defines if the
maintenance protocol will send the interface's name as
appears on the ifTable in the name object as part of the
maintenance protocol. If set to false, the optional element
will not be sent. |
| cpwVcMappingTablesGroup | 1.3.6.1.4.1.9.10.106.3.1.3 | | | Collection of objects contained in the reverse
mapping tables. |
| cpwVcMIB | 1.3.6.1.4.1.9.10.106 | | | This MIB contains managed object definitions for Pseudo
Wire operation as in: Pate, P., et al, , Xiao, X., et al, , Martini, L., et al, , and Martini, L., et al,
.
The indexes for this MIB are also used to index the PSN-
specific tables and the VC-specific tables. The VC Type
dictates which VC-specific MIB to use. For example, a
'cep' VC Type requires the use the configuration and status
tables within the CEP-MIB.
This MIB enable the use of any underlying packet switched
network (PSN). Specific tables for the MPLS PSN is
currently defined in a separate CISCO-IETF-PW-MPLS-MIB.
Tables to support other PSNs (IP, L2TP for example) will
be added to this MIB in future revisions.
At the time of publication of this version, there are no
PWE3 WG documents for all features and objects in this MIB,
and the MIB is therefore subject to change based on the WG
progress. |
| STR cpwVcName | 1.3.6.1.4.1.9.10.106.1.2.1.21 | SnmpAdminString | read-create | The canonical name assigned to the VC. |
| cpwVcNotifications | 1.3.6.1.4.1.9.10.106.2 | | | |
| cpwVcNotificationsGroup | 1.3.6.1.4.1.9.10.106.3.1.4 | | | Set of notifications implemented in this module.
None is mandatory. |
| U32 cpwVcNotifRate | 1.3.6.1.4.1.9.10.106.1.10 | Unsigned32 | read-write | This object defines the maximum number of PW VC notifications
that can be emitted from the device per second. |
| cpwVcObjects | 1.3.6.1.4.1.9.10.106.1 | | | |
| CPW cpwVcOperStatus | 1.3.6.1.4.1.9.10.106.1.2.1.26 | CpwOperStatus | read-only | Indicates the actual combined operational status of this
VC. It is 'up' if both cpwVcInboundOperStatus and
cpwVcOutboundOperStatus are in 'up' state. For all other
values, if the VCs in both directions are of the same
value it reflects that value, otherwise it is set to the
most severe status out of the two statuses. The order of
severance from most severe to less severe is: unknown,
notPresent, down, lowerLayerDown, dormant, testing, up.
The operator may consult the per direction OperStatus for
fault isolation per direction. |
| CPW cpwVcOutboundOperStatus | 1.3.6.1.4.1.9.10.106.1.2.1.28 | CpwOperStatus | read-only | Indicates the actual operational status of this VC in the
outbound direction
- down: if PW signaling has not yet finished, or
indications available at the service
level indicate that the VC is not
passing packets.
- testing: if AdminStatus at the VC level is set to
test.
- dormant: The VC is not available because of the
required resources are occupied VC with
higher priority VCs .
- notPresent: Some component is missing to accomplish
the set up of the VC.
- lowerLayerDown: The underlying PSN is not in OperStatus
'up'. |
| U32 cpwVcOutboundVcLabel | 1.3.6.1.4.1.9.10.106.1.2.1.19 | Unsigned32 | read-create | The VC label used in the outbound direction (i.e. toward
the PSN). It may be set up manually if owner is 'manual' or
automatically otherwise. Examples: For MPLS PSN, it
represents the 20 bits of VC tag, for L2TP it represent the
32 bits Session ID.
If the label is not yet known (signaling in process), the
object should return a value of 0xFFFF. |
| INT cpwVcOwner | 1.3.6.1.4.1.9.10.106.1.2.1.3 | INTEGER | read-create | Set by the operator to indicate the protocol responsible
for establishing this VC. Value 'manual' is used in all
cases where no maintenance protocol (PW signaling) is used
to set-up the VC, i.e. require configuration of entries in
the VC tables including VC labels, etc. The value
'maintenanceProtocol' is used in case of standard
signaling of the VC for the specific PSN, for example LDP
for MPLS PSN as specified in or L2TP control protocol.
Value 'other' is used for other types of signaling. |
| IP cpwVcPeerAddr | 1.3.6.1.4.1.9.10.106.1.2.1.9 | InetAddress | read-create | This object contains the value of of the peer node address
of the PW/PE maintenance protocol entity. This object
should contain a value of 0 if not relevant (manual
configuration of the VC). |
| IPt cpwVcPeerAddrType | 1.3.6.1.4.1.9.10.106.1.2.1.8 | InetAddressType | read-create | Denotes the address type of the peer node maintenance
protocol (signaling) address if PW maintenance protocol is
used for the VC creation. It should be set to
'unknown' if PE/PW maintenance protocol is not used,
i.e. cpwVcOwner is set to 'manual'. |
| cpwVcPeerMappingEntry | 1.3.6.1.4.1.9.10.106.1.8.1 | | not-accessible | An entry in this table is created by the agent for every
VC configured in cpwVcTable. |
| IP cpwVcPeerMappingPeerAddr | 1.3.6.1.4.1.9.10.106.1.8.1.2 | InetAddress | not-accessible | IP address type of the peer node. |
| IPt cpwVcPeerMappingPeerAddrType | 1.3.6.1.4.1.9.10.106.1.8.1.1 | InetAddressType | not-accessible | IP address type of the peer node. |
| cpwVcPeerMappingTable | 1.3.6.1.4.1.9.10.106.1.8 | | not-accessible | This table provides reverse mapping of the existing VCs
based on vc type and VC ID ordering. This table is
typically useful for EMS ordered query of existing VCs. |
| CPW cpwVcPeerMappingVcID | 1.3.6.1.4.1.9.10.106.1.8.1.4 | CpwVcIDType | not-accessible | The VC ID of this VC. Zero if the VC is configured
manually. |
| CPW cpwVcPeerMappingVcIndex | 1.3.6.1.4.1.9.10.106.1.8.1.5 | CpwVcIndexType | read-only | The value that represent the VC in the cpwVcTable. |
| CPW cpwVcPeerMappingVcType | 1.3.6.1.4.1.9.10.106.1.8.1.3 | CpwVcType | not-accessible | The VC type (indicate the service) of this VC. |
| cpwVcPeformanceGroup | 1.3.6.1.4.1.9.10.106.3.1.2 | | | Collection of objects needed for PW VC
performance. |
| cpwVcPerfCurrentEntry | 1.3.6.1.4.1.9.10.106.1.3.1 | | not-accessible | An entry in this table is created by the agent for
every VC. |
| C64 cpwVcPerfCurrentInHCBytes | 1.3.6.1.4.1.9.10.106.1.3.1.2 | Counter64 | read-only | High capacity counter for number of bytes received
by the VC (from the PSN) in the current 15 minute
interval. |
| C64 cpwVcPerfCurrentInHCPackets | 1.3.6.1.4.1.9.10.106.1.3.1.1 | Counter64 | read-only | High capacity counter for number of packets received
by the VC (from the PSN) in the current 15 minute
interval. |
| C64 cpwVcPerfCurrentOutHCBytes | 1.3.6.1.4.1.9.10.106.1.3.1.4 | Counter64 | read-only | High capacity counter for number of bytes forwarded
by the VC (to the PSN) in the current 15 minute interval. |
| C64 cpwVcPerfCurrentOutHCPackets | 1.3.6.1.4.1.9.10.106.1.3.1.3 | Counter64 | read-only | High capacity counter for number of packets forwarded
by the VC (to the PSN) in the current 15 minute interval. |
| cpwVcPerfCurrentTable | 1.3.6.1.4.1.9.10.106.1.3 | | not-accessible | This table provides per-VC performance information for the
current interval. |
| cpwVcPerfIntervalEntry | 1.3.6.1.4.1.9.10.106.1.4.1 | | not-accessible | An entry in this table is created agent for every VC. |
| C64 cpwVcPerfIntervalInHCBytes | 1.3.6.1.4.1.9.10.106.1.4.1.5 | Counter64 | read-only | High capacity counter for number of bytes received by the
VC (from the PSN) in a particular 15-minute interval. |
| C64 cpwVcPerfIntervalInHCPackets | 1.3.6.1.4.1.9.10.106.1.4.1.4 | Counter64 | read-only | High capacity counter for number of packets received by
the VC (from the PSN) in a particular 15-minute interval. |
| I32 cpwVcPerfIntervalNumber | 1.3.6.1.4.1.9.10.106.1.4.1.1 | Integer32 | not-accessible | A number N, between 1 and 96, which identifies the
interval for which the set of statistics is available.
The interval identified by 1 is the most recently
completed 15 minute interval, and the interval identified
by N is the interval immediately preceding the one
identified by N-1.
The minimum range of N is 1 through 4. The default range
is 1 to 32. The maximum range of N is 1 through 96. |
| C64 cpwVcPerfIntervalOutHCBytes | 1.3.6.1.4.1.9.10.106.1.4.1.7 | Counter64 | read-only | High capacity counter for number of bytes forwarded by the
VC (to the PSN) in a particular 15-minute interval. |
| C64 cpwVcPerfIntervalOutHCPackets | 1.3.6.1.4.1.9.10.106.1.4.1.6 | Counter64 | read-only | High capacity counter for number of packets forwarded by
the VC (to the PSN) in a particular 15-minute interval. |
| cpwVcPerfIntervalTable | 1.3.6.1.4.1.9.10.106.1.4 | | not-accessible | This table provides per-VC performance information for
each interval. |
| I32 cpwVcPerfIntervalTimeElapsed | 1.3.6.1.4.1.9.10.106.1.4.1.3 | Integer32 | read-only | The duration of a particular interval in seconds.
Adjustments in the system's time-of-day clock, may
cause the interval to be greater or less than the
normal value. Therefore this actual interval value
is provided. |
| T/F cpwVcPerfIntervalValidData | 1.3.6.1.4.1.9.10.106.1.4.1.2 | TruthValue | read-only | This variable indicates if the data for this interval
is valid. |
| TIM cpwVcPerfTotalDiscontinuityTime | 1.3.6.1.4.1.9.10.106.1.5.1.5 | TimeStamp | read-only | The value of sysUpTime on the most recent occasion at
which any one or more of this row Counter32 or
Counter64 suffered a discontinuity. If no such
discontinuities have occurred since the last re-
initialization of the local management subsystem, then
this object contains a zero value. |
| cpwVcPerfTotalEntry | 1.3.6.1.4.1.9.10.106.1.5.1 | | not-accessible | An entry in this table is created agent for every VC. |
| C64 cpwVcPerfTotalErrorPackets | 1.3.6.1.4.1.9.10.106.1.6 | Counter64 | read-only | Counter for number of error at VC level processing, for
example packets received with unknown VC label. |
| C64 cpwVcPerfTotalInHCBytes | 1.3.6.1.4.1.9.10.106.1.5.1.2 | Counter64 | read-only | High capacity counter for number of bytes received by the
VC (from the PSN). |
| C64 cpwVcPerfTotalInHCPackets | 1.3.6.1.4.1.9.10.106.1.5.1.1 | Counter64 | read-only | High capacity counter for number of packets received by the
VC (from the PSN). |
| C64 cpwVcPerfTotalOutHCBytes | 1.3.6.1.4.1.9.10.106.1.5.1.4 | Counter64 | read-only | High capacity counter for number of bytes forwarded by the
VC (to the PSN). |
| C64 cpwVcPerfTotalOutHCPackets | 1.3.6.1.4.1.9.10.106.1.5.1.3 | Counter64 | read-only | High capacity counter for number of packets forwarded by
the VC (to the PSN). |
| cpwVcPerfTotalTable | 1.3.6.1.4.1.9.10.106.1.5 | | not-accessible | This table provides per-VC Performance information from VC
start time. |
| INT cpwVcPsnType | 1.3.6.1.4.1.9.10.106.1.2.1.4 | INTEGER | read-create | Set by the operator to indicate the PSN type on which this
VC will be carried. Based on this object, the relevant PSN
table entries are created in the in the PSN specific MIB
modules. For example, if mpls(1) is defined, the agent
create an entry in cpwVcMplsTable, which further define the
MPLS PSN configuration.
Note: the exact set of PSN types is yet to be worked
out by the WG. |
| INT cpwVcRemoteControlWord | 1.3.6.1.4.1.9.10.106.1.2.1.16 | INTEGER | read-create | If maintenance protocol is used for VC establishment, this
parameter indicates the received status of the control word
usage, i.e. if packets will be received with control word
or not. The value of 'notYetKnown' is used while the
maintenance protocol has not yet received the indication
from the remote node.
In manual configuration of the VC this parameters indicate
to the local node what is the expected encapsulation for
the received packets. |
| CPW cpwVcRemoteGroupID | 1.3.6.1.4.1.9.10.106.1.2.1.15 | CpwGroupID | read-only | Obtained from the Group ID field as received via the
maintenance protocol used for VC setup, zero if not used.
Value of 0xFFFF shall be used if the object is yet to be
defined by the VC maintenance protocol. |
| U32 cpwVcRemoteIfMtu | 1.3.6.1.4.1.9.10.106.1.2.1.17 | Unsigned32 | read-only | The remote interface MTU as (optionally) received from the
remote node via the maintenance protocol. Should be zero if
this parameter is not available or not used. |
| STR cpwVcRemoteIfString | 1.3.6.1.4.1.9.10.106.1.2.1.18 | SnmpAdminString | read-only | Indicate the interface description string as received by
the maintenance protocol, MUST be NULL string if not
applicable or not known yet. |
| ROW cpwVcRowStatus | 1.3.6.1.4.1.9.10.106.1.2.1.31 | RowStatus | read-create | For creating, modifying, and deleting this row. |
| I32 cpwVcSetUpPriority | 1.3.6.1.4.1.9.10.106.1.2.1.5 | Integer32 | read-create | This object define the relative set-up priority of the VC
in a lowest-to-highest fashion, where 0 is the highest
priority. VCs with the same priority are treated with
equal priority. Dropped VC will be set 'dormant' (as
indicated in cpwVcOperStatus).
This value is significant if there are competing resources
between VCs and the implementation support this feature.
If not supported or not relevant, the value of zero MUST
be used. |
| STO cpwVcStorageType | 1.3.6.1.4.1.9.10.106.1.2.1.32 | StorageType | read-create | This variable indicates the storage type for this
object. |
| cpwVcTable | 1.3.6.1.4.1.9.10.106.1.2 | | not-accessible | This table specifies information for connecting various
emulated services to various tunnel type. |
| I32 cpwVcTimeElapsedEx | 1.3.6.1.4.1.9.10.106.1.2.1.29 | Integer32 | read-only | The number of seconds, including partial seconds,
that have elapsed since the beginning of the current
measurement period. If, for some reason, such as an
adjustment in the system's time-of-day clock, the
current interval exceeds the maximum value, the
agent will return the maximum value. |
| CPW cpwVcType | 1.3.6.1.4.1.9.10.106.1.2.1.2 | CpwVcType | read-create | This value indicate the service to be carried over
this VC.
Note: the exact set of VC types is yet to be worked
out by the WG. |
| NTF cpwVcUp | 1.3.6.1.4.1.9.10.106.2.2 | | | This notification is generated when the
cpwVcOperStatus object for one or more contiguous
entries in cpwVcTable are about to enter the up(1)
state from some other state. The included values of
cpwVcOperStatus MUST both be set equal to this
new state (i.e: up(1)). The two instances of
cpwVcOperStatus in this notification indicate the range
of indexes that are affected. Note that all the indexes
of the two ends of the range can be derived from the
instance identifiers of these two objects. For
cases where a contiguous range of cross-connects
have transitioned into the up(1) state at roughly
the same time, the device SHOULD issue a single
notification for each range of contiguous indexes in
an effort to minimize the emission of a large number
of notifications. If a notification has to be
issued for just a single cross-connect entry, then
the instance identifier (and values) of the two
cpwVcOperStatus objects MUST be the identical. |
| T/F cpwVcUpDownNotifEnable | 1.3.6.1.4.1.9.10.106.1.9 | TruthValue | read-write | If this object is set to true(1), then it enables
the emission of cpwVcUp and cpwVcDown
notifications; otherwise these notifications are not
emitted. |
| TIK cpwVcUpTimeEx | 1.3.6.1.4.1.9.10.106.1.2.1.24 | TimeTicks | read-only | Number of consecutive ticks this VC has been 'up' in
both directions together (i.e. 'up' is observed in
cpwVcOperStatus.) |
| I32 cpwVcValidIntervals | 1.3.6.1.4.1.9.10.106.1.2.1.30 | Integer32 | read-only | The number of previous 15-minute intervals
for which data was collected.
An agent with PW capability must be capable of supporting at
least n intervals. The minimum value of n is 4, The default
of n is 32 and the maximum value of n is 96.
The value will be unless the measurement was (re-)
started within the last (*15) minutes, in which case the
value will be the number of complete 15 minute intervals for
which the agent has at least some data. In certain cases
(e.g., in the case where the agent is a proxy) it is
possible that some intervals are unavailable. In this case,
this interval is the maximum interval number for which data
is available. |