Compound Module PPPInterfaceWithULThruputMeter

Package: inet.linklayer.ppp
File: src/linklayer/ppp/PPPInterfaceWithULThruputMeter.ned

PPP interface. Complements the PPP module with an output queue for QoS and RED support.

See also: PPPInterfaceNoQueue

OutputQueue PPP ThruputMeter

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.

Used in compound modules:

Name Type Description
StandardHostWithULThruputMeter compound module

IP host with SCTP, TCP, UDP layers and applications AND PPPInterfaceWithULThruputMeter.

Parameters:

Name Type Default value Description
queueType string "DropTailQueue"

Properties:

Name Value Description
display i=block/ifcard;bgb=148,263

Gates:

Name Direction Size Description
netwIn input
netwOut output
phys inout

Unassigned submodule parameters:

Name Type Default value Description
ppp.mtu int 4470
thruputMeter.startTime double 0s
thruputMeter.batchSize int 50
thruputMeter.maxInterval double 1s

Source code:

//
// \PPP interface. Complements the PPP module with an output queue
// for QoS and RED support.
//
// @see PPPInterfaceNoQueue
//
module PPPInterfaceWithULThruputMeter
{
    parameters:
        string queueType = default("DropTailQueue");
        @display("i=block/ifcard;bgb=148,263");
    gates:
        input netwIn;
        output netwOut;
        inout phys;
    submodules:
        queue: <queueType> like OutputQueue {
            parameters:
                @display("p=47,87;q=l2queue");
        }
        ppp: PPP {
            parameters:
                queueModule = "queue";
                txQueueLimit = 1; // queue sends one packet at a time
                @display("p=108,199");
        }
        thruputMeter: ThruputMeter {
            @display("p=47,140");
        }
    connections:
        netwIn --> { @display("m=n"); } --> queue.in;
        queue.out --> thruputMeter.in;
        thruputMeter.out --> ppp.netwIn;
        netwOut <-- { @display("m=n"); } <-- ppp.netwOut;
        phys <--> { @display("m=s"); } <--> ppp.phys;
}