This module provides Greedy Perimeter Stateless Routing for Wireless Networks. The implementation supports both GG and RNG planarization algorithms.
For more information on the routing algorithm, see the GPSR paper http://www.eecs.harvard.edu/htk/publication/2000-mobi-karp-kung.pdf
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Name | Type | Description |
---|---|---|
MultiGPSR | compound module |
This module provides GPSR routing for multiple network protocols simultaneously. |
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string |
context parameters |
|
routingTableModule | string | ||
networkProtocolModule | string | "^.networkLayer.ip" | |
outputInterface | string | "wlan0" | |
planarizationMode | int | 0 |
GPSR parameters |
interfaces | string | "*" | |
beaconInterval | double | 10s | |
maxJitter | double | 1s | |
neighborValidityInterval | double | 30s | |
positionByteLength | int | 2 * 4B |
Name | Value | Description |
---|---|---|
display | i=block/routing |
properties |
Name | Direction | Size | Description |
---|---|---|---|
ipIn | input | ||
ipOut | output |
// // This module provides Greedy Perimeter Stateless Routing for Wireless Networks. // The implementation supports both GG and RNG planarization algorithms. // // For more information on the routing algorithm, see the GPSR paper // http://www.eecs.harvard.edu/~htk/publication/2000-mobi-karp-kung.pdf // simple GPSR like IGPSR { parameters: // properties @display("i=block/routing"); // context parameters string interfaceTableModule; // The path to the InterfaceTable module string routingTableModule; string networkProtocolModule = default("^.networkLayer.ip"); string outputInterface = default("wlan0"); // GPSR parameters int planarizationMode @enum(0,1) = default(0); // 0 for GG, 1 for RNG string interfaces = default("*"); double beaconInterval @unit("s") = default(10s); double maxJitter @unit("s") = default(1s); double neighborValidityInterval @unit("s") = default(30s); int positionByteLength @unit(B) = default(2 * 4B); gates: input ipIn; output ipOut; }