VirtualTunnel

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 tofunctioninfo
MessageDispatcherinet::MessageDispatcher::arrivedarrived
InterfaceTableinet::InterfaceTable::findInterfaceByNamefindInterfaceByName
InterfaceTableinet::InterfaceTable::interfaceChangedinterfaceChanged

Called methods (observed)

functioninfocall from
inet::VirtualTunnel::pushPacketpushPacketVirtualInterface

Incoming messages (observed)

gatemsgkindctrlsrcModuletags
upperLayerInPacket0ArpInterfaceReq, MacAddressReq, PacketProtocolTag
upperLayerInPacket0Ipv4DispatchProtocolInd, EcnInd, InterfaceReq, MacAddressReq, NetworkProtocolInd, PacketProtocolTag, TransportProtocolInd

Outgoing messages (observed)

gatemsgkindctrldestModuletags
upperLayerOutPacket0Ieee8021qSocketCommandProcessorDispatchProtocolReq, InterfaceReq, MacAddressReq, PacketProtocolTag, SocketReq, VlanReq, DispatchProtocolInd?, EcnInd?, NetworkProtocolInd?, TransportProtocolInd?
upperLayerOutPacket0ArpDirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, UserPriorityInd, VlanInd
upperLayerOutPacket0Ipv4DirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, UserPriorityInd, VlanInd
upperLayerOutRequest1Ieee8021qBindCommandIeee8021qSocketCommandProcessorDispatchProtocolReq, InterfaceReq, SocketReq

Pushed in messages (observed)

gatemsgkindctrlsrcModuletags
upperLayerInPacket0MessageDispatcherDirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, SocketInd, UserPriorityInd, VlanInd
upperLayerInPacket0VirtualInterfaceDirectionTag, DispatchProtocolReq, DropEligibleInd, EncapsulationProtocolInd, InterfaceInd, MacAddressInd, PacketProtocolTag, PcpInd, SocketInd, UserPriorityInd, VlanInd

Shared Tagging operations (observed)

tagTypetagAction
DispatchProtocolReqaddTag, findTag
InterfaceIndgetTagForUpdate
InterfaceReqaddTagIfAbsent
MacAddressReqaddTagIfAbsent
SocketIndfindTag, removeTag
SocketReqaddTagIfAbsent
VlanReqaddTagIfAbsent

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