ExtLowerIpv4.ned
NED File src/inet/emulation/networklayer/ipv4/ExtLowerIpv4.ned
| Name | Type | Description |
|---|---|---|
| ExtLowerIpv4 | compound module |
Provides IPv4 layer functionality for network emulation that connects the simulation to a real network on the host computer. Sends packets from the simulation to the real network and receives packets from the real network into the simulation using raw sockets. Uses ~Ipv4Encap for packet encapsulation and ~ExtIpv4Socket for the connection to the host's networking stack. |
Source code
// // Copyright (C) 2004 OpenSim Ltd. // // SPDX-License-Identifier: LGPL-3.0-or-later // package inet.emulation.networklayer.ipv4; import inet.networklayer.ipv4.IIpv4; // // Provides IPv4 layer functionality for network emulation that connects // the simulation to a real network on the host computer. Sends packets from // the simulation to the real network and receives packets from the real network // into the simulation using raw sockets. Uses ~Ipv4Encap for packet encapsulation // and ~ExtIpv4Socket for the connection to the host's networking stack. // module ExtLowerIpv4 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: encap: Ipv4Encap { parameters: @display("p=100,50"); } socket: ExtIpv4Socket { parameters: @display("p=100,150"); } connections allowunconnected: transportIn --> encap.upperLayerIn; transportOut <-- encap.upperLayerOut; encap.lowerLayerOut --> socket.upperLayerIn; encap.lowerLayerIn <-- socket.upperLayerOut; }