Package: inet.emulation.linklayer.ethernet
ExtEthernetTapDevice
simple moduleProvides a bidirectional connection to a real TAP device of the host computer which is running the simulation. It writes the packets arrived on lowerLayerIn gate to the specified real TAP device, and sends out packets arrived from the real TAP device on lowerLayerOut gate.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Used in compound modules
| Name | Type | Description |
|---|---|---|
| ExtUpperEthernetInterface | compound module |
Provides an Ethernet network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation. |
| ExtUpperIeee80211Interface | compound module |
Provides an IEEE 802.11 network interface suitable for emulation. The upper part of the network interface is realized in the real world using a real TAP device of the host computer which is running the simulation. |
Extends
| Name | Type | Description |
|---|---|---|
| SimpleModule | 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 |
| device | string |
Name of the existing real tap interface |
|
| namespace | string | "" | |
| packetNameFormat | string | "Ext-%p-%t-%n" |
Properties
| Name | Value | Description |
|---|---|---|
| class | ExtEthernetTapDevice | |
| display | i=block/rxtx |
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| lowerLayerIn | input | ||
| lowerLayerOut | output |
Signals
| Name | Type | Unit | Description |
|---|---|---|---|
| packetReceived | Packet | ||
| packetSent | Packet | ||
| packetReceivedFromLower | Packet | ||
| packetSentToLower | Packet |
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode | Description |
|---|---|---|---|---|---|---|
| packetReceived | packets received | packetReceived | count, sum(packetBytes), vector(packetBytes) | none | ||
| packetSent | packets sent | packetSent | count, sum(packetBytes), vector(packetBytes) | none | ||
| packetReceivedFromLower | packets received from higher layer | packetReceivedFromLower | count, sum(packetBytes), vector(packetBytes) | none | ||
| packetSentFromLower | packets sent to higher layer | packetSentToLower | count, sum(packetBytes), vector(packetBytes) | none |
Source code
// // Provides a bidirectional connection to a real TAP device of the // host computer which is running the simulation. It writes the packets arrived // on `lowerLayerIn` gate to the specified real TAP device, and sends out packets // arrived from the real TAP device on `lowerLayerOut` gate. // simple ExtEthernetTapDevice extends SimpleModule { parameters: @class(ExtEthernetTapDevice); string device; // Name of the existing real tap interface string namespace = default(""); string packetNameFormat = default("Ext-%p-%t-%n"); @display("i=block/rxtx"); @signal[packetSentToLower](type=Packet); @signal[packetReceivedFromLower](type=Packet); @signal[packetSent](type=Packet); @signal[packetReceived](type=Packet); @statistic[packetSentFromLower](title="packets sent to higher layer"; source=packetSentToLower; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[packetReceivedFromLower](title="packets received from higher layer"; source=packetReceivedFromLower; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[packetSent](title="packets sent"; source=packetSent; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); @statistic[packetReceived](title="packets received"; source=packetReceived; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none); gates: input lowerLayerIn @labels(EtherFrame); output lowerLayerOut @labels(EtherFrame); }File: src/inet/emulation/linklayer/ethernet/ExtEthernetTapDevice.ned