Package: inet.emulation.common
ExtInterface
compound moduleThis module provides a base module for external network interfaces.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Known subclasses
| Name | Type | Description | 
|---|---|---|
| ExtLowerEthernetInterface | compound module | This module provides an Ethernet network interface suitable for emulation. The lower part of the network interface is realized in the real world using a real ethernet socket of the host computer which is running the simulation. | 
| ExtUpperEthernetInterface | compound module | This 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 | This 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 | 
|---|---|---|
| NetworkInterface | compound module | This module serves as the base module for all network interfaces. | 
Parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| displayStringTextFormat | string | "%a (%i)\n%m" | |
| recordPcap | bool | false | |
| numPcapRecorders | int | recordPcap ? 1 : 0 | |
| isWireless | bool | false | |
| interfaceTableModule | string | ||
| device | string | ||
| namespace | string | "" | |
| copyConfiguration | string | "" | |
| address | string | "auto" | |
| broadcast | bool | true | |
| multicast | bool | true | |
| pointToPoint | bool | false | |
| mtu | int | 4470B | 
Properties
| Name | Value | Description | 
|---|---|---|
| networkInterface | ||
| lifecycleSupport | ||
| class | ExtInterface | |
| display | i=block/ifcard | 
Gates
| Name | Direction | Size | Description | 
|---|---|---|---|
| upperLayerIn | input | ||
| upperLayerOut | output | 
Signals
| Name | Type | Unit | 
|---|---|---|
| packetDropped | inet::Packet | 
Statistics
| Name | Title | Source | Record | Unit | Interpolation Mode | 
|---|---|---|---|---|---|
| packetDropInterfaceDown | packet drops: interface down | packetDropReasonIsInterfaceDown(packetDropped) | count, sum(packetBytes), vector(packetBytes) | none | |
| packetDropNoCarrier | packet drops: no carrier | packetDropReasonIsNoCarrier(packetDropped) | count, sum(packetBytes), vector(packetBytes) | none | 
Unassigned submodule parameters
| Name | Type | Default value | Description | 
|---|---|---|---|
| pcapRecorder.verbose | bool | true | whether to log packets on the module output | 
| pcapRecorder.pcapFile | string | "" | the PCAP file to be written | 
| pcapRecorder.fileFormat | string | "pcapng" | |
| pcapRecorder.snaplen | int | 65535 | maximum number of bytes to record per packet | 
| pcapRecorder.dumpBadFrames | bool | true | enable dump of frames with hasBitError | 
| pcapRecorder.sendingSignalNames | string | "packetSentToLower" | space-separated list of outbound packet signals to subscribe to | 
| pcapRecorder.receivingSignalNames | string | "packetReceivedFromLower" | space-separated list of inbound packet signals to subscribe to | 
| pcapRecorder.dumpProtocols | string | "ethernetmac ppp ieee80211mac" | space-separated list of protocol names as defined in the Protocol class | 
| pcapRecorder.packetFilter | object | "*" | which packets are considered, matches all packets by default | 
| pcapRecorder.helpers | string | "" | usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper" | 
| pcapRecorder.alwaysFlush | bool | false | flush the pcapFile after each write to ensure that all packets are captured in case of a crash | 
| pcapRecorder.displayStringTextFormat | string | "rec: %n pks" | 
Source code
// // This module provides a base module for external network interfaces. // module ExtInterface extends NetworkInterface like IExternalInterface { parameters: bool isWireless = default(false); string interfaceTableModule; string device; string namespace = default(""); string copyConfiguration @enum("","copyToExt","copyFromExt") = default(""); string address @mutable = default("auto"); bool broadcast = default(true); bool multicast = default(true); bool pointToPoint = default(false); int mtu @unit(B) = default(4470B); *.interfaceTableModule = default(absPath(this.interfaceTableModule)); *.device = default(this.device); *.namespace = default(this.namespace); @class(ExtInterface); gates: input upperLayerIn @loose; output upperLayerOut @loose; }File: src/inet/emulation/common/ExtInterface.ned