Package: inet.linklayer.virtual
VirtualTunnel
simple module(no description)
Used in compound modules
Name | Type | Description |
---|---|---|
VirtualInterface | compound module |
This module implements a virtual network interface. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
interfaceTableModule | string | ||
realInterface | string | ||
protocol | string | vlanId != -1 ? "ieee8021qctag" : "" | |
address | string | "copy" | |
vlanId | int | -1 | |
steal | bool | vlanId != -1 |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel |
Gates
Name | Direction | Size | Description |
---|---|---|---|
upperLayerIn | input | ||
upperLayerOut | output |
Direct method calls (observed)
call to | function | info |
---|---|---|
MessageDispatcher | inet::MessageDispatcher::arrived | arrived |
InterfaceTable | inet::InterfaceTable::findInterfaceByName | findInterfaceByName |
InterfaceTable | inet::InterfaceTable::interfaceChanged | interfaceChanged |
Called methods (observed)
function | info | call from |
---|---|---|
inet::VirtualTunnel::pushPacket | pushPacket | VirtualInterface |
Incoming messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
upperLayerIn | Packet | 0 | Arp | InterfaceReq, MacAddressReq, PacketProtocolTag | |
upperLayerIn | Packet | 0 | Ipv4 | DispatchProtocolInd, EcnInd, InterfaceReq, MacAddressReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd |
Outgoing messages (observed)
gate | msg | kind | ctrl | destModule | tags |
---|---|---|---|---|---|
upperLayerOut | Packet | 0 | Ieee8021qSocketCommandProcessor | DispatchProtocolReq, InterfaceReq, MacAddressReq, PacketProtocolTag, SocketReq, VlanReq, DispatchProtocolInd?, EcnInd?, NetworkProtocolInd?, TransportProtocolInd? | |
upperLayerOut | Packet | 0 | Arp | DirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, UserPriorityInd, VlanInd | |
upperLayerOut | Packet | 0 | Ipv4 | DirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, UserPriorityInd, VlanInd | |
upperLayerOut | Request | 1 | Ieee8021qBindCommand | Ieee8021qSocketCommandProcessor | DispatchProtocolReq, InterfaceReq, SocketReq |
Pushed in messages (observed)
gate | msg | kind | ctrl | srcModule | tags |
---|---|---|---|---|---|
upperLayerIn | Packet | 0 | MessageDispatcher | DirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, SocketInd, UserPriorityInd, VlanInd | |
upperLayerIn | Packet | 0 | VirtualInterface | DirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, SocketInd, UserPriorityInd, VlanInd |
Shared Tagging operations (observed)
tagType | tagAction |
---|---|
DispatchProtocolReq | addTag, findTag |
InterfaceInd | getTagForUpdate |
InterfaceReq | addTagIfAbsent |
MacAddressReq | addTagIfAbsent |
SocketInd | findTag, removeTag |
SocketReq | addTagIfAbsent |
VlanReq | addTagIfAbsent |
Source code
simple VirtualTunnel { parameters: string interfaceTableModule; string realInterface; string protocol = default(vlanId != -1 ? "ieee8021qctag" : ""); string address @enum("auto","copy") = default("copy"); int vlanId = default(-1); bool steal = default(vlanId != -1); @display("i=block/cogwheel"); gates: input upperLayerIn; output upperLayerOut; }File: src/inet/linklayer/virtual/VirtualTunnel.ned