tunnel."
REFERENCE
"J. Postel, Internet Protocol, RFC 791, STD 5, September
1981
Deering, S., and R. Hinden, Internet Protocol, Version
6 (IPv6) Specification, RFC 2460, December 1998
Nichols, K, Blake, S., Baker, F. and D. Black,
Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers, RFC 2474, December
1998
Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
Label Switch Router Management Information Base,
RFC 3813
Srinivasan, C., A. Viswanathan, and T. Nadeau, MPLS
Traffic Engineering Management Information Base,
RFC 3812"
::= { mplsFTNObjects 3 }
mplsFTNEntry OBJECT-TYPE
SYNTAX MplsFTNEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry represents one FTN entry which defines a
rule to compare incoming packets with and an action to
be taken on matching packets."
INDEX { mplsFTNIndex }
::= { mplsFTNTable 1 }
MplsFTNEntry ::= SEQUENCE {
mplsFTNIndex MplsFTNEntryIndex,
mplsFTNRowStatus RowStatus,
mplsFTNDescr SnmpAdminString,
mplsFTNMask BITS,
mplsFTNAddrType InetAddressType,
mplsFTNSourceAddrMin InetAddress,
mplsFTNSourceAddrMax InetAddress,
mplsFTNDestAddrMin InetAddress,
mplsFTNDestAddrMax InetAddress,
mplsFTNSourcePortMin InetPortNumber,
mplsFTNSourcePortMax InetPortNumber,
mplsFTNDestPortMin InetPortNumber,
mplsFTNDestPortMax InetPortNumber,
mplsFTNProtocol Integer32,
mplsFTNDscp Dscp,
mplsFTNActionType INTEGER,
mplsFTNActionPointer RowPointer,
mplsFTNStorageType StorageType
}
mplsFTNIndex OBJECT-TYPE
SYNTAX MplsFTNEntryIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the unique index for a conceptual row in
mplsFTNTable.
To create a new conceptual row in mplsFTNTable a
Network Management Application SHOULD retrieve the
current value of mplsFTNIndexNext to determine the next
valid available value of mplsFTNIndex."
::= { mplsFTNEntry 1 }
mplsFTNRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Used for controlling the creation and deletion of this
row. All writeable objects in this row may be modified
at any time. If a Network Management Application
attempts to delete a conceptual row by setting this
object to ’destroy’ and there are one or more entries
in mplsFTNMapTable pointing to the row (i.e., when
mplsFTNIndex of the conceptual row being deleted is
equal to mplsFTNMapCurrIndex for one or more entries in
mplsFTNMapTable), the agent MUST also destroy the
corresponding entries in mplsFTNMapTable."
::= { mplsFTNEntry 2 }
mplsFTNDescr OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The description of this FTN entry. Since the index for
this table has no particular significance or meaning,
this object should contain some meaningful text that an
operator could use to further distinguish entries in
this table."
::= { mplsFTNEntry 3 }
mplsFTNMask OBJECT-TYPE
SYNTAX BITS {
sourceAddr(0),
destAddr(1),
sourcePort(2),
destPort(3),
protocol(4),
dscp(5)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This bit map indicates which of the fields described
next, namely source address range, destination address
range, source port range, destination port range, IPv4
Protocol field or IPv6 next-header field and
Differentiated Services Code Point (DSCP) is active for
this FTN entry. If a particular bit is set to zero then
the corresponding field in the packet MUST be ignored
for comparison purposes."
::= { mplsFTNEntry 4 }
mplsFTNAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This object determines the type of address contained in
the source and destination address objects
(mplsFTNSourceAddrMin, mplsFTNSourceAddrMax,
mplsFTNDestAddrMin and mplsFTNDestAddrMax) of a
conceptual row.
This object MUST NOT be set to unknown(0) when
mplsFTNMask has bit positions sourceAddr(0) or
destAddr(1) set to one.
When both these bit positions of mplsFTNMask are set to
zero the value of mplsFTNAddrType SHOULD be set to
unknown(0) and the corresponding source and destination
address objects SHOULD be set to zero-length strings."
::= { mplsFTNEntry 5 }
mplsFTNSourceAddrMin OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The lower end of the source address range. The type of
this object is determined by the corresponding
mplsFTNAddrType object."
::= { mplsFTNEntry 6 }
mplsFTNSourceAddrMax OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The upper end of the source address range. The type of
this object is determined by the corresponding
mplsFTNAddrType object."
::= { mplsFTNEntry 7 }
mplsFTNDestAddrMin OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The lower end of the destination address range. The
type of this object is determined by the corresponding
mplsFTNAddrType object."
::= { mplsFTNEntry 8 }
mplsFTNDestAddrMax OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The higher end of the destination address range. The
type of this object is determined by the corresponding
mplsFTNAddrType object."
::= { mplsFTNEntry 9 }
mplsFTNSourcePortMin OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The lower end of the source port range."
DEFVAL { 0 }
::= { mplsFTNEntry 10 }
mplsFTNSourcePortMax OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The higher end of the source port range "
DEFVAL { 65535 }
::= { mplsFTNEntry 11 }
mplsFTNDestPortMin OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The lower end of the destination port range."
DEFVAL { 0 }
::= { mplsFTNEntry 12 }
mplsFTNDestPortMax OBJECT-TYPE
SYNTAX InetPortNumber
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The higher end of the destination port range."
DEFVAL { 65535 }
::= { mplsFTNEntry 13 }
mplsFTNProtocol OBJECT-TYPE
SYNTAX Integer32 (0..255)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The IP protocol to match against the IPv4 protocol
number or IPv6 Next-Header number in the packet. A
value of 255 means match all. Note that the protocol
number of 255 is reserved by IANA, and Next-Header
number of 0 is used in IPv6."
DEFVAL { 255 }
::= { mplsFTNEntry 14 }
mplsFTNDscp OBJECT-TYPE
SYNTAX Dscp
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The contents of the DSCP field."
REFERENCE
"Nichols, K., Blake, S., Baker, F. and D. Black,
Definition of the Differentiated Services Field (DS
Field) in the IPv4 and IPv6 Headers, RFC 2474, December
1998."
::= { mplsFTNEntry 15 }
mplsFTNActionType OBJECT-TYPE
SYNTAX INTEGER {
redirectLsp(1), -- redirect into LSP
redirectTunnel(2) -- redirect into tunnel
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of action to be taken on packets matching this
FTN entry."
::= { mplsFTNEntry 16 }
mplsFTNActionPointer OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"If mplsFTNActionType is redirectLsp(1), then this
object MUST contain zeroDotZero or point to a instance
of mplsXCEntry indicating the LSP to redirect matching
packets to.
If mplsFTNActionType is redirectTunnel(2), then this
object MUST contain zeroDotZero or point to a instance
of mplsTunnelEntry indicating the MPLS TE tunnel to
redirect matching packets to.
If this object points to a conceptual row instance in a
table consistent with mplsFTNActionType but this
instance does not currently exist then no action will
be taken on packets matching such an FTN entry till
this instance comes into existence.
If this object contains zeroDotZero then no action will
be taken on packets matching such an FTN entry till it
is populated with a valid pointer consistent with the
value of mplsFTNActionType as explained above."
::= { mplsFTNEntry 17 }
mplsFTNStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this FTN entry. Conceptual rows
having the value ’permanent’ need not allow write-
access to any columnar objects in the row."
DEFVAL { nonVolatile }
::= { mplsFTNEntry 18 }
-- End of mplsFTNTable.
-- Last time an object in mplsFTNMapTable changed.
mplsFTNMapTableLastChanged OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the last time an entry was added, deleted or
modified in mplsFTNMapTable. Management stations should
consult this object to determine if the table requires
their attention. This object is particularly useful
for applications performing a retrieval on
mplsFTNMapTable to ensure that the table is not
modified during the retrieval operation."
::= { mplsFTNObjects 4 }
-- FTN to interface mapping table.
mplsFTNMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF MplsFTNMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains objects which provide the
capability to apply or map FTN rules as defined by
entries in mplsFTNTable to specific interfaces in the
system. FTN rules are compared with incoming packets
in the order in which they are applied on an interface.
The indexing structure of mplsFTNMapTable is as
follows.
- mplsFTNMapIndex indicates the interface to which the
rule is being applied. A value of 0 represents the
application of the rule to all interfaces.
- mplsFTNMapPrevIndex specifies the rule on the
interface prior to the one being applied. A value of
0 specifies that the rule is being inserted at the
head of the list of rules currently applied to the
interface.
- mplsFTNMapCurrIndex is the index in mplsFTNTable
corresponding to the rule being applied.
This indexing structure makes the entries in the table
behave like items in a linked-list. The object
mplsFTNMapPrevIndex in each conceptual row is a pointer
to the previous entry that is applied to a particular
interface. This allows a new entry to be ’inserted’ at
an arbitrary position in a list of entries currently
applied to an interface. This object is self-
adjusting, i.e., its value is automatically adjusted by
the agent, if necessary, after an insertion or deletion
operation.
Using this linked-list structure, one can retrieve FTN
entries in the order of application on a per-interface
basis as follows:
- To determine the first FTN entry on an interface
with index ifIndex perform a GETNEXT retrieval
operation on mplsFTNMapRowStatus.ifIndex.0.0; the
returned object, if one exists, is (say)
mplsFTNMapRowStatus.ifIndex.0.n (mplsFTNMapRowStatus
is the first accessible columnar object in the
conceptual row). Then the index of the first FTN
entry applied on this interface is n.
- To determine the FTN entry applied to an interface
after the one indexed by n perform a GETNEXT
retrieval operation on
mplsFTNMapRowStatus.ifIndex.n.0. If such an entry
exists the returned object would be of the form
mplsFTNMapRowStatus.ifIndex.n.m. Then the index of
the next FTN entry applied on this interface is m.
- If the FTN entry indexed by n is the last entry
applied to the interface with index ifIndex then the
object returned would either be:
1.mplsFTNMapRowStatus.ifIndexNext.0.k, where
ifIndexNext is the index of the next interface in
ifTable to which an FTN entry has been applied, in
which case k is the index of the first FTN entry
applied to the interface with index ifIndexNext;
or:
2.mplsFTNMapStorageType.firstIfIndex.0.p, if there
are no more entries in mplsFTNMapTable, where
firstIfIndex is the first entry in ifTable to
which an FTN entry has been mapped.
Use the above steps to retrieve all the applied FTN
entries on a per-interface basis in application order.
Note that the number of retrieval operations is the
same as the number of applied FTN entries (i.e., the
minimum number of GETNEXT operations needed using any
indexing scheme).
Agents MUST NOT allow the same FTN entry as specified
by mplsFTNMapCurrIndex to be applied multiple times to
the same interface.
Agents MUST NOT allow the creation of rows in this
table until the corresponding rows are created in the
mplsFTNTable.
If a row in mplsFTNTable is destroyed, the agent MUST
destroy the corresponding entries (i.e., ones with a
matching value of mplsFTNCurrIndex) in this table as
well."
::= { mplsFTNObjects 5 }
mplsFTNMapEntry OBJECT-TYPE
SYNTAX MplsFTNMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each conceptual row represents the application of an
FTN rule at a specific position in the list of FTN
rules applied on an interface. "
INDEX {
mplsFTNMapIndex,
mplsFTNMapPrevIndex,
mplsFTNMapCurrIndex
}
::= { mplsFTNMapTable 1 }
MplsFTNMapEntry ::= SEQUENCE {
mplsFTNMapIndex InterfaceIndexOrZero,
mplsFTNMapPrevIndex MplsFTNEntryIndexOrZero,
mplsFTNMapCurrIndex MplsFTNEntryIndex,
mplsFTNMapRowStatus RowStatus,
mplsFTNMapStorageType StorageType
}
mplsFTNMapIndex OBJECT-TYPE
SYNTAX InterfaceIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The interface index that this FTN entry is being
applied to. A value of zero indicates an entry that is
applied all interfaces.
Entries mapped to an interface by specifying its (non-
zero) interface index in mplsFTNMapIndex are applied
ahead of entries with mplsFTNMapIndex equal to zero."
::= { mplsFTNMapEntry 1 }
mplsFTNMapPrevIndex OBJECT-TYPE
SYNTAX MplsFTNEntryIndexOrZero
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index of the previous FTN entry that was applied to
this interface. The special value zero indicates that
this should be the first FTN entry in the list."
::= { mplsFTNMapEntry 2 }
mplsFTNMapCurrIndex OBJECT-TYPE
SYNTAX MplsFTNEntryIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Index of the current FTN entry that is being applied to