Compound Module PPPInterface

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

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

See also: PPPInterfaceNoQueue

OutputQueue PPP

Usage diagram:

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram. Click here to see the full picture.

Inheritance diagram:

The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram. Click here to see the full picture.

Used in compound modules:

If a module type shows up more than once, that means it has been defined in more than one NED file.

BurstHost (compound module)

Definition of an IP node with a transport generator that connects to IP directly, without TCP or UDP.

ExtRouter (compound module)

External router.

LDP_LSR (compound module)

An LDP-capable router.

OSPFRouter (compound module)

An OSPFv2 router.

Router (compound module)

IP router.

Router6 (compound module)

IPv6 router.

RSVP_LSR (compound module)

An RSVP-TE capable router.

RTPHost (compound module) (no description)
StandardHost (compound module)

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

StandardHost6 (compound module)

IPv6 host with TCP, UDP layers and applications.

TCPSpoofingHost (compound module)

IP host with TCPSpoof in the application layer.

Parameters:

Name Type Default value Description
queueType string "DropTailQueue"

Properties:

Name Value Description
display i=block/ifcard

Gates:

Name Direction Size Description
netwIn input
netwOut output
phys inout

Unassigned submodule parameters:

Name Type Default value Description
ppp.mtu int 4470

Source code:

//
// \PPP interface. Complements the PPP module with an output queue
// for QoS and RED support.
//
// @see PPPInterfaceNoQueue
//
module PPPInterface
{
    parameters:
        string queueType = default("DropTailQueue");
        @display("i=block/ifcard");
    gates:
        input netwIn;
        output netwOut;
        inout phys @labels(PPPFrame);
    submodules:
        queue: <queueType> like OutputQueue {
            parameters:
                @display("p=60,85;q=l2queue");
        }
        ppp: PPP {
            parameters:
                queueModule = "queue";
                txQueueLimit = 1; // queue sends one packet at a time
                @display("p=88,165");
        }
    connections:
        netwIn --> { @display("m=n"); } --> queue.in;
        queue.out --> ppp.netwIn;
        netwOut <-- { @display("m=n"); } <-- ppp.netwOut;
        phys <--> { @display("m=s"); } <--> ppp.phys;
}