LibTable¶
Package: inet.networklayer.mpls
simple module LibTable
Stores the LIB (Label Information Base), accessed by Mpls and its associated control protocols (RsvpTe, Ldp) via direct C++ method calls.
The config file must have the following format:
The root element is <libtable>, which contains any number of <libentry> children. <libentry> represents an entry (row) in the table, and must have the following child elements:
<inLabel>: input label (integer)
<inInterface>: input interface (interface name)
<outInterface>: output interface (interface name)
<outLabel>: output label operations, see below.
<color>: color (integer); this element is optional.
The <outLabel> element describes the output label operations in <op> child elements. <op> has two attributes:
code: accepted values are “push”, “pop” and “swap”.
value: label value for “push” (integer)
A DTD is available in inet/etc/.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
Base module for MPLS-capable routers. Extends the standard Router with the MPLS data plane (Mpls, LibTable) and the Traffic Engineering Database (Ted, LinkStateRouting) common to all MPLS signaling protocols. |
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Base module for all INET simple modules. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
config |
xml |
xml(“<libtable/>”) |
Table contents to be loaded on startup |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
LibTable |
|
display |
i=block/table2 |
Source code¶
//
// Stores the LIB (Label Information Base), accessed by ~Mpls and its
// associated control protocols (~RsvpTe, ~Ldp) via direct C++ method calls.
//
// The config file must have the following format:
//
// The root element is <libtable>, which contains any number of
// <libentry> children. <libentry> represents an entry (row) in
// the table, and must have the following child elements:
// - <inLabel>: input label (integer)
// - <inInterface>: input interface (interface name)
// - <outInterface>: output interface (interface name)
// - <outLabel>: output label operations, see below.
// - <color>: color (integer); this element is optional.
//
// The <outLabel> element describes the output label operations in
// <op> child elements. <op> has two attributes:
// - code: accepted values are "push", "pop" and "swap".
// - value: label value for "push" (integer)
//
// A DTD is available in inet/etc/.
//
simple LibTable extends SimpleModule
{
parameters:
@class(LibTable);
xml config = default(xml("<libtable/>")); // Table contents to be loaded on startup
@display("i=block/table2");
}