Compound Module OSPF_Area1

File: Examples/OSPFv2/FullTest/Area1.ned

(no description)

RT1: OSPFRouter RT2: OSPFRouter N1: EtherHub N2: EtherHub N3: EtherHub N4: EtherHub H1: StandardHost H2: StandardHost H3: StandardHost H4: StandardHost H5: StandardHost H6: StandardHost H7: 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
RT1.routingFile string
RT1.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

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

number seconds ARP waits between retries to resolve an IP address

RT1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

RT1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

RT1.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.

RT1.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.

RT1.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).

RT1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

RT1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

RT2.routingFile string
RT2.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

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

number seconds ARP waits between retries to resolve an IP address

RT2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

RT2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

RT2.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.

RT2.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.

RT2.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).

RT2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

RT2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N1.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N2.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N3.writeScalars bool

enable/disable recording statistics in omnetpp.sca

N4.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H1.tcp.advertisedWindow numeric const

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

H1.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H1.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H1.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H1.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H1.pingApp.destAddr string

destination IP or IPv6 address

H1.pingApp.srcAddr string

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

H1.pingApp.packetSize numeric const

of ping payload, in bytes

H1.pingApp.interval numeric

time to wait between pings (can be random)

H1.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H1.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H1.pingApp.startTime numeric const

send first ping at startTime

H1.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H1.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H1.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H1.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H1.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.

H1.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.

H1.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).

H1.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H1.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H2.tcp.advertisedWindow numeric const

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

H2.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H2.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H2.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H2.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H2.pingApp.destAddr string

destination IP or IPv6 address

H2.pingApp.srcAddr string

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

H2.pingApp.packetSize numeric const

of ping payload, in bytes

H2.pingApp.interval numeric

time to wait between pings (can be random)

H2.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H2.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H2.pingApp.startTime numeric const

send first ping at startTime

H2.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H2.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H2.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H2.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H2.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.

H2.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.

H2.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).

H2.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H2.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H3.tcp.advertisedWindow numeric const

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

H3.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H3.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H3.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H3.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H3.pingApp.destAddr string

destination IP or IPv6 address

H3.pingApp.srcAddr string

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

H3.pingApp.packetSize numeric const

of ping payload, in bytes

H3.pingApp.interval numeric

time to wait between pings (can be random)

H3.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H3.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H3.pingApp.startTime numeric const

send first ping at startTime

H3.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H3.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H3.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H3.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H3.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.

H3.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.

H3.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).

H3.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H3.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H4.tcp.advertisedWindow numeric const

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

H4.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H4.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H4.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H4.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H4.pingApp.destAddr string

destination IP or IPv6 address

H4.pingApp.srcAddr string

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

H4.pingApp.packetSize numeric const

of ping payload, in bytes

H4.pingApp.interval numeric

time to wait between pings (can be random)

H4.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H4.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H4.pingApp.startTime numeric const

send first ping at startTime

H4.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H4.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H4.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H4.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H4.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.

H4.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.

H4.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).

H4.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H4.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H5.tcp.advertisedWindow numeric const

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

H5.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H5.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H5.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H5.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H5.pingApp.destAddr string

destination IP or IPv6 address

H5.pingApp.srcAddr string

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

H5.pingApp.packetSize numeric const

of ping payload, in bytes

H5.pingApp.interval numeric

time to wait between pings (can be random)

H5.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H5.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H5.pingApp.startTime numeric const

send first ping at startTime

H5.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H5.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H5.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H5.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H5.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.

H5.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.

H5.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).

H5.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H5.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H6.tcp.advertisedWindow numeric const

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

H6.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H6.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H6.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H6.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H6.pingApp.destAddr string

destination IP or IPv6 address

H6.pingApp.srcAddr string

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

H6.pingApp.packetSize numeric const

of ping payload, in bytes

H6.pingApp.interval numeric

time to wait between pings (can be random)

H6.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H6.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H6.pingApp.startTime numeric const

send first ping at startTime

H6.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H6.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H6.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H6.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H6.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.

H6.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.

H6.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).

H6.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H6.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

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

maximum segment size

H7.tcp.advertisedWindow numeric const

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

H7.tcp.tcpAlgorithmClass string

TCPTahoe/TCPReno/TCPNoCongestionControl/DumbTCP

H7.tcp.sendQueueClass string

TCPVirtualDataSendQueue/TCPMsgBasedSendQueue

H7.tcp.receiveQueueClass string

TCPVirtualDataRcvQueue/TCPMsgBasedRcvQueue

H7.tcp.recordStats bool

recording seqNum etc. into output vectors on/off

H7.pingApp.destAddr string

destination IP or IPv6 address

H7.pingApp.srcAddr string

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

H7.pingApp.packetSize numeric const

of ping payload, in bytes

H7.pingApp.interval numeric

time to wait between pings (can be random)

H7.pingApp.hopLimit numeric const

TTL or hopLimit for IP packets

H7.pingApp.count numeric const

stop after count ping requests, 0 means continuously

H7.pingApp.startTime numeric const

send first ping at startTime

H7.pingApp.stopTime numeric const

send no pings after stopTime, 0 means forever

H7.pingApp.printPing bool

dump on stdout

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

number seconds ARP waits between retries to resolve an IP address

H7.networkLayer.arp.retryCount numeric

number of times ARP will attempt to resolve an IP address

H7.networkLayer.arp.cacheTimeout numeric

number seconds unused entries in the cache will time out

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

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

H7.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.

H7.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.

H7.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).

H7.eth[*].mac.writeScalars bool

enable/disable recording statistics in omnetpp.sca

H7.eth[*].encap.writeScalars bool

enable/disable recording statistics in omnetpp.sca

Source code:

module OSPF_Area1
    gates:
        in: in[];
        out: out[];
    submodules:
        RT1: OSPFRouter;
            gatesizes:
                ethIn[2],
                ethOut[2];
            display: "p=232,136;i=srouter";
        RT2: OSPFRouter;
            gatesizes:
                ethIn[2],
                ethOut[2];
            display: "p=236,348;i=srouter";
        N1: EtherHub;
            gatesizes:
                in[3],
                out[3];
            display: "p=140,136;i=device/hub";
        N2: EtherHub;
            gatesizes:
                in[3],
                out[3];
            display: "p=140,348;i=device/hub";
        N3: EtherHub;
            gatesizes:
                in[5],
                out[5];
            display: "p=360,252;i=device/hub";
        N4: EtherHub;
            gatesizes:
                in[3],
                out[3];
            display: "p=360,464;i=device/hub";
        H1: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=56,96;i=device/pc_s";
        H2: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=56,172;i=device/pc_s";
        H3: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=56,316;i=device/pc_s";
        H4: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=56,388;i=device/pc_s";
        H5: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=360,188;i=device/pc_s";
        H6: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=316,520;i=device/pc_s";
        H7: StandardHost;
            gatesizes:
                ethIn[1],
                ethOut[1];
            display: "p=400,520;i=device/pc_s";
    connections:
        H1.ethOut[0] --> delay 0.1us --> N1.in[0];
        N1.out[0] --> delay 0.1us --> H1.ethIn[0];
        N1.out[1] --> delay 0.1us --> H2.ethIn[0];
        H2.ethOut[0] --> delay 0.1us --> N1.in[1];
        N2.out[0] --> delay 0.1us --> H3.ethIn[0];
        H3.ethOut[0] --> delay 0.1us --> N2.in[0];
        N2.out[1] --> delay 0.1us --> H4.ethIn[0];
        H4.ethOut[0] --> delay 0.1us --> N2.in[1];
        N1.out[2] --> delay 0.1us --> RT1.ethIn[0];
        RT1.ethOut[0] --> delay 0.1us --> N1.in[2];
        RT1.ethOut[1] --> delay 0.1us --> N3.in[1];
        N3.out[1] --> delay 0.1us --> RT1.ethIn[1];
        N3.out[0] --> delay 0.1us --> H5.ethIn[0];
        H5.ethOut[0] --> delay 0.1us --> N3.in[0];
        N4.out[0] --> delay 0.1us --> H6.ethIn[0];
        H6.ethOut[0] --> delay 0.1us --> N4.in[0];
        N4.out[1] --> delay 0.1us --> H7.ethIn[0];
        H7.ethOut[0] --> delay 0.1us --> N4.in[1];
        N2.out[2] --> delay 0.1us --> RT2.ethIn[0];
        RT2.ethOut[0] --> delay 0.1us --> N2.in[2];
        RT2.ethOut[1] --> delay 0.1us --> N3.in[2];
        N3.out[2] --> delay 0.1us --> RT2.ethIn[1];

        // towards other areas
        N3.out[4] --> out[0] display "m=m,100,44,100,32";
        in[0] --> N3.in[4] display "m=m,100,32,100,48";
        N3.out[3] --> out[1] display "m=m,96,96,100,52";
        in[1] --> N3.in[3] display "m=m,100,52,89,64";
        N4.out[2] --> out[2];
        in[2] --> N4.in[2];
    display: "p=10,42;b=432,504";
endmodule