Handles and processes LDP messages.
The LDP protocol is used by one LSR (Label Switched Router) to inform another LSR of the label bindings it has made. The LSR uses this protocol to establish label switched paths through a network by mapping network layer routing information directly to data-link layer switched paths.
Operations
All LDP message types are subclassed from LDPPacket, and include LDPHello, LDPNotify, LDPLabelRequest, LDPIni and LDPAddress.
Message processing in the LDP module is explained in LDP Message Processing
Author: Andras Varga, Vojta Janota
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.
If a module type shows up more than once, that means it has been defined in more than one NED file.
LDP_LSR (compound module) |
An LDP-capable router. |
Name | Type | Default value | Description |
---|---|---|---|
holdTime | double | 15s | |
helloInterval | double | 5s |
Name | Value | Description |
---|---|---|
display | i=block/control |
Name | Direction | Size | Description |
---|---|---|---|
tcpIn | input | ||
udpIn | input | ||
tcpOut | output | ||
udpOut | output |
// // Handles and processes LDP messages. // // The LDP protocol is used by one LSR (Label Switched \Router) to inform // another LSR of the label bindings it has made. The LSR uses this protocol // to establish label switched paths through a network by mapping network layer // routing information directly to data-link layer switched paths. // // Operations // // All LDP message types are subclassed from LDPPacket, and include // LDPHello, LDPNotify, LDPLabelRequest, LDPIni and LDPAddress. // // Message processing in the LDP module is explained in // <a href="ldp-processing.html">LDP Message Processing</a> // // @author Andras Varga, Vojta Janota // simple LDP { parameters: double holdTime @unit("s") = default(15s); double helloInterval @unit("s") = default(5s); @display("i=block/control"); gates: input tcpIn @labels(TCPCommand/up); input udpIn @labels(UDPControlInfo/up); output tcpOut @labels(TCPCommand/down); output udpOut @labels(UDPControlInfo/down); }