EthernetCutthroughLayer

Package: inet.linklayer.ethernet.modular

EthernetCutthroughLayer

compound module

(no description)

EthernetCutthroughSink EthernetCutthroughSource

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Used in compound modules

Name Type Description
EthernetCutthroughInterface compound module

This module represents an Ethernet network interface with cut-through support.

Parameters

Name Type Default value Description
macTableModule string
bitrate double

Properties

Name Value Description
display i=block/layer

Gates

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

Unassigned submodule parameters

Name Type Default value Description
cutthroughSink.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

cutthroughSink.clockModule string ""

relative path of a module that implements IClock; optional

cutthroughSink.datarate double nan bps
cutthroughSource.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

cutthroughSource.datarate double nan bps
cutthroughSource.macTableModule string

Source code

module EthernetCutthroughLayer
{
    parameters:
        string macTableModule;
        double bitrate @unit(bps);
        *.datarate = default(this.bitrate);
        *.macTableModule = default(this.macTableModule);
        @display("i=block/layer");
    gates:
        input upperLayerIn;
        output upperLayerOut;
        input lowerLayerIn;
        output lowerLayerOut;
        input cutthroughIn;
        output cutthroughOut;
    submodules:
        cutthroughSink: EthernetCutthroughSink {
            @display("p=200,100");
        }
        cutthroughSource: EthernetCutthroughSource {
            @display("p=500,100");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> cutthroughSink.in;
        cutthroughSink.out --> { @display("m=s"); } --> lowerLayerOut;
        cutthroughIn --> { @display("m=w"); } --> cutthroughSink.cutthroughIn;

        lowerLayerIn --> { @display("m=s"); } --> cutthroughSource.in;
        cutthroughSource.out --> { @display("m=n"); } --> upperLayerOut;
        cutthroughSource.cutthroughOut --> { @display("m=e"); } --> cutthroughOut;
}

File: src/inet/linklayer/ethernet/modular/EthernetCutthroughLayer.ned