Package: inet.physicallayer.wired.ethernet


compound module

(no description)

IPacketFlow InterpacketGapInserter IPacketFlow IPacketTransmitter IPacketFilter IPacketFlow IPacketReceiver

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.

Known subclasses

Name Type Description
EthernetStreamingPhyLayer compound module (no description)
EthernetStreamThroughPhyLayer compound module (no description)


Name Type Default value Description
bitrate double


Name Value Description
display i=block/layer


Name Direction Size Description
upperLayerIn input
upperLayerOut output
lowerLayerIn input
lowerLayerOut output

Unassigned submodule parameters

Name Type Default value Description
interFrameGapInserter.displayStringTextFormat string "delayed %p pk (%l)\nifg: %g"

determines the text that is written on top of the submodule

interFrameGapInserter.clockModule string ""

relative path of a module that implements IClock; optional

interFrameGapInserter.initialChannelBusy bool false

assume that channel was busy before the simulation started

interFrameGapInserter.duration double 96s / dropUnit(parent.bitrate)

Source code

module EthernetPhyLayer like IEthernetPhyLayer
        volatile double bitrate @unit(bps);
        outboundEmitter.signalName = "packetSentToLower";
        outboundEmitter.direction = "outbound";
        inboundEmitter.signalName = "packetReceivedFromLower";
        inboundEmitter.direction = "inbound";
        *.bitrate = default(this.bitrate);
        input upperLayerIn;
        output upperLayerOut;
        input lowerLayerIn;
        output lowerLayerOut;
        phyHeaderInserter: <default("EthernetPhyHeaderInserter")> like IPacketFlow {
        interFrameGapInserter: InterpacketGapInserter {
            duration = default(96s / dropUnit(parent.bitrate));  // 96 bit / <bitrate> bps
        outboundEmitter: <default("PacketEmitter")> like IPacketFlow {
        transmitter: <default("PacketTransmitter")> like IPacketTransmitter {
            datarate = default(parent.bitrate);
        phyHeaderChecker: <default("EthernetPhyHeaderChecker")> like IPacketFilter {
        inboundEmitter: <default("PacketEmitter")> like IPacketFlow {
        receiver: <default("PacketReceiver")> like IPacketReceiver {
            datarate = default(parent.bitrate);
        upperLayerIn --> { @display("m=n"); } -->;
        phyHeaderInserter.out -->;
        interFrameGapInserter.out -->;
        outboundEmitter.out -->;
        transmitter.out --> { @display("m=s"); } --> lowerLayerOut;

        lowerLayerIn --> { @display("m=s"); } -->;
        receiver.out -->;
        inboundEmitter.out -->;
        phyHeaderChecker.out --> { @display("m=n"); } --> upperLayerOut;
File: src/inet/physicallayer/wired/ethernet/EthernetPhyLayer.ned