ExtUpperIpv4
Package: inet.emulation.networklayer.ipv4
ExtUpperIpv4
compound moduleProvides IPv4 layer functionality for network emulation that connects simulated applications to a real network on the host computer. Uses a real TUN device on the host OS to capture and inject packets at the IP layer, allowing simulated applications to communicate with real-world network endpoints through the host's networking stack.
Usage diagram
The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Gates
| Name | Direction | Size | Description |
|---|---|---|---|
| transportIn | input | ||
| transportOut | output | ||
| queueIn | input | ||
| queueOut | output |
Unassigned submodule parameters
| Name | Type | Default value | Description |
|---|---|---|---|
| tun.displayStringTextFormat | string | "" |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
| tun.device | string | ||
| tun.namespace | string | "" | |
| tun.packetNameFormat | string | "Ext" |
Source code
// // Provides IPv4 layer functionality for network emulation that connects // simulated applications to a real network on the host computer. Uses a real // TUN device on the host OS to capture and inject packets at the IP layer, // allowing simulated applications to communicate with real-world network // endpoints through the host's networking stack. // module ExtUpperIpv4 like IIpv4 { gates: input transportIn @labels(Ipv4ControlInfo/down,TcpHeader,UdpHeader,SctpHeader); output transportOut @labels(Ipv4ControlInfo/up,TcpHeader,UdpHeader,SctpHeader); input queueIn @labels(Ipv4Header,ArpPacket,Ieee802Ctrl); output queueOut @labels(Ipv4Header,ArpPacket,Ieee802Ctrl); submodules: tun: ExtIpv4TunDevice { parameters: @display("p=100,150"); } connections allowunconnected: queueIn --> tun.lowerLayerIn; queueOut <-- tun.lowerLayerOut; }File: src/inet/emulation/networklayer/ipv4/ExtUpperIpv4.ned