NED File src/inet/applications/ethernet/EthernetSocketIo.ned¶
Name |
Type |
Description |
|---|---|---|
simple module |
Provides Ethernet socket handling for generic applications. |
Source code¶
//
// Copyright (C) 2020 OpenSim Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
//
package inet.applications.ethernet;
import inet.common.SimpleModule;
//
// Provides Ethernet socket handling for generic applications.
//
simple EthernetSocketIo extends SimpleModule
{
parameters:
@class(EthernetSocketIo);
string interfaceTableModule; // Relative module path of the interface table
string interface = default(""); // Network interface name
string protocol = default(""); // Bind the socket to this protocol if specified
string localAddress = default(""); // Local Ethernet MAC address
string remoteAddress = default(""); // Remote Ethernet MAC address
bool steal = default(false); // Steal packets
double stopOperationExtraTime @unit(s) = default(-1s); // Extra time after lifecycle stop operation finished
double stopOperationTimeout @unit(s) = default(2s); // Timeout value for lifecycle stop operation
@lifecycleSupport();
displayStringTextFormat = default("rcvd: {numReceived} pks\nsent: {numSent} pks");
@display("i=block/socket");
@signal[packetSent](type=inet::Packet);
@signal[packetReceived](type=inet::Packet);
@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 trafficIn;
output trafficOut;
input socketIn;
output socketOut;
}