Package: inet.networklayer.nexthop
NextHopForwarding
simple moduleThis module is a simplified next hop forwarding that routes datagrams using different kind of network addresses.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| NextHopNetworkLayer | compound module |
This module provides a network layer for the next hop forwarding. |
Parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| interfaceTableModule | string |
The path to the InterfaceTable module |
|
| routingTableModule | string | ||
| arpModule | string | ||
| procDelay | double | 0s | |
| hopLimit | int | 32 | |
| headerLength | int | 10B |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/routing |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| transportIn | input | ||
| transportOut | output | ||
| queueIn | input | ||
| queueOut | output |
Signals
| Name | Type | Unit |
|---|---|---|
| packetDropped | inet::Packet | |
| packetSentToUpper | inet::Packet |
Source code
// // This module is a simplified next hop forwarding that routes // datagrams using different kind of network addresses. // simple NextHopForwarding { parameters: string interfaceTableModule; // The path to the InterfaceTable module string routingTableModule; string arpModule; double procDelay @unit(s) = default(0s); int hopLimit = default(32); int headerLength @unit(B) = default(10B); @display("i=block/routing"); @signal[packetDropped](type=inet::Packet); @signal[packetSentToUpper](type=inet::Packet); gates: input transportIn @labels(TcpHeader,UdpHeader); output transportOut @labels(TcpHeader,UdpHeader); input queueIn @labels(NextHopDatagram); output queueOut @labels(NextHopDatagram); }File: src/inet/networklayer/nexthop/NextHopForwarding.ned