Compound Module OSPF_Area2

File: Examples/OSPFv2/FullTest/Area2.ned

(no description)

RT8: OSPFRouter N6: EtherHub N7: EtherHub N8: EtherHub H8: StandardHost H9: StandardHost H10: StandardHost H11: StandardHost

Usage diagram:

The following diagram shows usage relationships between modules, networks and channels. Unresolved module (and channel) types are missing from the diagram. Click here to see the full picture.

Contains the following modules:

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

EtherHub

A generic wiring hub model.

OSPFRouter

IP router.

StandardHost

IP host with TCP, UDP layers and applications.

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.

OSPF_TestNetwork (no description)

Gates:

Name Direction Description
in [ ] input
out [ ] output

Unassigned submodule parameters:

Name Type Description
RT8.routingFile string
RT8.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

RT8.networkLayer.proxyARP bool
RT8.networkLayer.ip.procDelay numeric const
RT8.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

RT8.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

RT8.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

RT8.ppp[*].queueType string
RT8.eth[*].queueType string
RT8.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

RT8.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

RT8.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

RT8.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

RT8.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

RT8.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N6.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N7.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N8.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H8.numTcpApps numeric const
H8.numUdpApps numeric const
H8.tcpAppType string
H8.udpAppType string
H8.IPForward bool
H8.namid numeric const
H8.routingFile string
H8.tcp.mss numeric const

maximum segment size

H8.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

H8.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H8.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H8.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H8.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H8.pingApp.destAddr string

destination IP or IPv6 address

H8.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

H8.pingApp.packetSize numeric const

of ping payload, in bytes

H8.pingApp.interval numeric

time to wait between pings (can be random)

H8.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H8.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H8.pingApp.startTime numeric const

send first ping at startTime

H8.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H8.pingApp.printPing bool

dump on stdout

H8.networkLayer.ip.procDelay numeric const
H8.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

H8.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H8.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

H8.ppp[*].queueType string
H8.eth[*].queueType string
H8.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

H8.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

H8.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

H8.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

H8.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H8.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H9.numTcpApps numeric const
H9.numUdpApps numeric const
H9.tcpAppType string
H9.udpAppType string
H9.IPForward bool
H9.namid numeric const
H9.routingFile string
H9.tcp.mss numeric const

maximum segment size

H9.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

H9.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H9.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H9.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H9.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H9.pingApp.destAddr string

destination IP or IPv6 address

H9.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

H9.pingApp.packetSize numeric const

of ping payload, in bytes

H9.pingApp.interval numeric

time to wait between pings (can be random)

H9.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H9.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H9.pingApp.startTime numeric const

send first ping at startTime

H9.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H9.pingApp.printPing bool

dump on stdout

H9.networkLayer.ip.procDelay numeric const
H9.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

H9.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H9.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

H9.ppp[*].queueType string
H9.eth[*].queueType string
H9.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

H9.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

H9.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

H9.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

H9.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H9.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H10.numTcpApps numeric const
H10.numUdpApps numeric const
H10.tcpAppType string
H10.udpAppType string
H10.IPForward bool
H10.namid numeric const
H10.routingFile string
H10.tcp.mss numeric const

maximum segment size

H10.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

H10.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H10.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H10.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H10.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H10.pingApp.destAddr string

destination IP or IPv6 address

H10.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

H10.pingApp.packetSize numeric const

of ping payload, in bytes

H10.pingApp.interval numeric

time to wait between pings (can be random)

H10.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H10.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H10.pingApp.startTime numeric const

send first ping at startTime

H10.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H10.pingApp.printPing bool

dump on stdout

H10.networkLayer.ip.procDelay numeric const
H10.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

H10.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H10.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

H10.ppp[*].queueType string
H10.eth[*].queueType string
H10.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

H10.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

H10.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

H10.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

H10.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H10.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H11.numTcpApps numeric const
H11.numUdpApps numeric const
H11.tcpAppType string
H11.udpAppType string
H11.IPForward bool
H11.namid numeric const
H11.routingFile string
H11.tcp.mss numeric const

maximum segment size

H11.tcp.advertisedWindow numeric const

in bytes (Note: normally, NIC queues should be at least this size)

H11.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H11.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H11.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H11.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H11.pingApp.destAddr string

destination IP or IPv6 address

H11.pingApp.srcAddr string

source IP or IPv6 address (useful with multi-homing)

H11.pingApp.packetSize numeric const

of ping payload, in bytes

H11.pingApp.interval numeric

time to wait between pings (can be random)

H11.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H11.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H11.pingApp.startTime numeric const

send first ping at startTime

H11.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H11.pingApp.printPing bool

dump on stdout

H11.networkLayer.ip.procDelay numeric const
H11.networkLayer.arp.retryTimeout numeric

number seconds ARP waits between retries to resolve an IP address

H11.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H11.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

H11.ppp[*].queueType string
H11.eth[*].queueType string
H11.eth[*].mac.promiscuous bool

if true, all packets are received, otherwise only the ones with matching destination MAC address

H11.eth[*].mac.address string

MAC address as hex string (12 hex digits), or "auto". "auto" values will be replaced by a generated MAC address in init stage 0.

H11.eth[*].mac.txrate numeric

maximum data rate supported by this station (bit/s); actually chosen speed may be lower due to auto- configuration. 0 means fully auto-configured.

H11.eth[*].mac.duplexEnabled bool

whether duplex mode can be enabled or not; whether MAC will actually use duplex mode depends on the result of the auto-configuration process (duplex is only possible with DTE-to-DTE connection).

H11.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H11.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module OSPF_Area2
    gates:
        in: in[];
        out: out[];
    submodules:
        RT8: OSPFRouter;
            gatesizes:
                ethIn[2],
                ethOut[2];
            display: "p=304,196;i=srouter";
        N6: EtherHub;
            gatesizes:
                in[4],
                out[4];
            display: "p=304,100;i=device/hub";
        N7: EtherHub;
            gatesizes:
                in[3],
                out[3];
            display: "p=304,300;i=device/hub";
        N8: EtherHub;
            gatesizes:
                in[3],
                out[3];
            display: "p=104,100;i=device/hub";
        H8: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=392,100;i=device/pc_s";
        H9: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=348,364;i=device/pc_s";
        H10: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=260,364;i=device/pc_s";
        H11: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=104,156;i=device/pc_s";
    connections:
        N8.out[1] --> delay 0.1us --> H11.ethIn[0];
        H11.ethOut[0] --> delay 0.1us --> N8.in[1];
        N6.out[2] --> delay 0.1us --> RT8.ethIn[0];
        RT8.ethOut[0] --> delay 0.1us --> N6.in[2];
        N6.out[3] --> delay 0.1us --> H8.ethIn[0];
        H8.ethOut[0] --> delay 0.1us --> N6.in[3];
        RT8.ethOut[1] --> delay 0.1us --> N7.in[0];
        N7.out[0] --> delay 0.1us --> RT8.ethIn[1];
        N7.out[1] --> delay 0.1us --> H10.ethIn[0];
        H10.ethOut[0] --> delay 0.1us --> N7.in[1];
        N7.out[2] --> delay 0.1us --> H9.ethIn[0];
        H9.ethOut[0] --> delay 0.1us --> N7.in[2];

        // towards other areas
        N8.out[0] --> out[0];
        in[0] --> N8.in[0];
        N8.out[2] --> out[1] display "m=m,52,64,40,0";
        in[1] --> N8.in[2] display "m=m,40,0,64,8";
        N6.out[1] --> out[2] display "m=m,28,36,48,0";
        in[2] --> N6.in[1] display "m=m,48,0,28,28";
        N6.out[0] --> out[3];
        in[3] --> N6.in[0];
    display: "p=10,10;b=424,400";
endmodule