PppInterface

Package: inet.linklayer.ppp

PppInterface

compound module

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

ITrafficConditioner ITrafficConditioner Ppp

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.

Extends

Name Type Description
InterfaceEntry compound module (no description)

Parameters

Name Type Default value Description
displayStringTextFormat string "%a (%i)\n%m"
interfaceTableModule string

Properties

Name Value Description
class InterfaceEntry
display i=block/ifcard;bgl=53

Gates

Name Direction Size Description
upperLayerIn input
upperLayerOut output
phys inout

Source code

//
// PPP interface. Complements the ~Ppp module with an output queue
// for QoS and RED support.
//
module PppInterface extends InterfaceEntry like IPppInterface
{
    parameters:
        @class(InterfaceEntry);
        @display("i=block/ifcard;bgl=53");
        string interfaceTableModule;
        *.interfaceTableModule = default(absPath(interfaceTableModule));
    gates:
        input upperLayerIn;
        output upperLayerOut;
        inout phys @labels(PppFrame);
    submodules:
        ingressTC: <default("")> like ITrafficConditioner if typename != "" {
            @display("p=300,100");
        }
        egressTC: <default("")> like ITrafficConditioner if typename != "" {
            @display("p=100,100");
        }
        ppp: Ppp {
            parameters:
                queue.packetCapacity = default(10000);
                @display("p=200,200");
        }
    connections:
        upperLayerIn --> { @display("m=n"); } --> egressTC.in if exists(egressTC);
        upperLayerIn --> { @display("m=n"); } --> ppp.upperLayerIn if !exists(egressTC);

        egressTC.out --> ppp.upperLayerIn if exists(egressTC);

        phys <--> { @display("m=s"); } <--> ppp.phys;

        ppp.upperLayerOut --> { @display("m=n"); } --> upperLayerOut if !exists(ingressTC);

        ppp.upperLayerOut --> ingressTC.in if exists(ingressTC);
        ingressTC.out --> { @display("m=n"); } --> upperLayerOut if exists(ingressTC);
}

File: src/inet/linklayer/ppp/PppInterface.ned