EthernetCutthroughLayer

Package: inet.linklayer.ethernet.modular

EthernetCutthroughLayer

compound module

(no description)

cutthroughSink : EthernetCutthroughSink

Source:
cutthroughSink: EthernetCutthroughSink {
    @display("p=200,100");
} cutthroughSource : EthernetCutthroughSource

Source:
cutthroughSource: EthernetCutthroughSource {
    @display("p=500,100");
}

Usage diagram

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

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

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
cutthroughSource.cutthroughSwitchingHeaderSize int 0b

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;
    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;

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

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