Ipv6Tunnel¶
Package: inet.networklayer.ipv6tunneling
simple module Ipv6Tunnel
Worker module of ~Ipv6TunnelInterface: performs IPv6-in-IPv6 (RFC 2473) encapsulation. A packet routed to this interface (from the IPv6 layer) is wrapped in an outer IPv6 header and handed back to IPv6, which forwards the encapsulated datagram toward the tunnel exit.
Usage diagram¶
Inheritance diagram¶
Used in compound modules¶
Name |
Type |
Description |
|---|---|---|
compound module |
A virtual network interface that tunnels IPv6 traffic in IPv6 (RFC 2473). Traffic routed to this interface is encapsulated toward |
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 |
interfaceTableModule |
string |
||
source |
string |
tunnel entry point (an address of this node) |
|
destination |
string |
tunnel exit point |
|
mtu |
int |
1500B |
Properties¶
Name |
Value |
Description |
|---|---|---|
class |
Ipv6Tunnel |
|
display |
i=block/tunnel |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
upperLayerIn |
input |
||
upperLayerOut |
output |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
packetReceivedFromLower |
cPacket |
||
packetReceivedFromUpper |
cPacket |
||
packetSentToLower |
cPacket |
||
packetSentToUpper |
cPacket |
Source code¶
//
// Worker module of ~Ipv6TunnelInterface: performs IPv6-in-IPv6 (RFC 2473)
// encapsulation. A packet routed to this interface (from the IPv6 layer) is
// wrapped in an outer IPv6 header and handed back to IPv6, which forwards the
// encapsulated datagram toward the tunnel exit.
//
simple Ipv6Tunnel extends SimpleModule
{
parameters:
@class(Ipv6Tunnel);
string interfaceTableModule;
string source; // tunnel entry point (an address of this node)
string destination; // tunnel exit point
int mtu @unit(B) = default(1500B);
@display("i=block/tunnel");
@signal[packetReceivedFromUpper](type=cPacket);
@signal[packetReceivedFromLower](type=cPacket);
@signal[packetSentToUpper](type=cPacket);
@signal[packetSentToLower](type=cPacket);
gates:
input upperLayerIn;
output upperLayerOut;
}