Network Backbone

Package: inet.examples.ospfv2.backbone
File: examples/ospfv2/backbone/Backbone.ned

(no description)

ChannelInstaller OSPFRouter EtherHub EtherHub OSPFRouter OSPFRouter OSPFRouter EtherHub EtherHub OSPFRouter OSPFRouter OSPFRouter EtherHub EtherHub StandardHost StandardHost

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.

Properties:

Name Value Description
isNetwork
display p=10,10;b=736,568

Unassigned submodule parameters:

Name Type Default value Description
R1.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R1.networkLayer.ip.procDelay double 0s
R1.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R1.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R1.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R1.ppp.ppp.mtu int 4470
R1.eth.mac.promiscuous bool false

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

R1.eth.mac.address string "auto"

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

R1.eth.mac.txrate double 100Mbps

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

R1.eth.mac.duplexEnabled bool true

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

R1.eth.mac.mtu int 1500
R2.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R2.networkLayer.ip.procDelay double 0s
R2.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R2.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R2.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R2.ppp.ppp.mtu int 4470
R2.eth.mac.promiscuous bool false

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

R2.eth.mac.address string "auto"

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

R2.eth.mac.txrate double 100Mbps

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

R2.eth.mac.duplexEnabled bool true

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

R2.eth.mac.mtu int 1500
R4.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R4.networkLayer.ip.procDelay double 0s
R4.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R4.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R4.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R4.ppp.ppp.mtu int 4470
R4.eth.mac.promiscuous bool false

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

R4.eth.mac.address string "auto"

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

R4.eth.mac.txrate double 100Mbps

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

R4.eth.mac.duplexEnabled bool true

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

R4.eth.mac.mtu int 1500
R3.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R3.networkLayer.ip.procDelay double 0s
R3.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R3.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R3.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R3.ppp.ppp.mtu int 4470
R3.eth.mac.promiscuous bool false

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

R3.eth.mac.address string "auto"

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

R3.eth.mac.txrate double 100Mbps

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

R3.eth.mac.duplexEnabled bool true

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

R3.eth.mac.mtu int 1500
R5.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R5.networkLayer.ip.procDelay double 0s
R5.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R5.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R5.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R5.ppp.ppp.mtu int 4470
R5.eth.mac.promiscuous bool false

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

R5.eth.mac.address string "auto"

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

R5.eth.mac.txrate double 100Mbps

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

R5.eth.mac.duplexEnabled bool true

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

R5.eth.mac.mtu int 1500
R7.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R7.networkLayer.ip.procDelay double 0s
R7.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R7.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R7.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R7.ppp.ppp.mtu int 4470
R7.eth.mac.promiscuous bool false

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

R7.eth.mac.address string "auto"

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

R7.eth.mac.txrate double 100Mbps

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

R7.eth.mac.duplexEnabled bool true

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

R7.eth.mac.mtu int 1500
R6.ospf.ospfConfigFile string

xml file containing the full OSPF AS configuration

R6.networkLayer.ip.procDelay double 0s
R6.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

R6.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

R6.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

R6.ppp.ppp.mtu int 4470
R6.eth.mac.promiscuous bool false

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

R6.eth.mac.address string "auto"

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

R6.eth.mac.txrate double 100Mbps

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

R6.eth.mac.duplexEnabled bool true

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

R6.eth.mac.mtu int 1500
H1.sctp.numGapReports int 3

====== SCTP Association Parameters =================================

H1.sctp.rtoInitial double 3s
H1.sctp.rtoMin double 1s
H1.sctp.rtoMax double 60s
H1.sctp.rtoAlpha double 0.125
H1.sctp.rtoBeta double 0.250
H1.sctp.maxBurst int 4
H1.sctp.assocMaxRetrans int 10
H1.sctp.pathMaxRetrans int 5
H1.sctp.maxInitRetrans int 8
H1.sctp.sackPeriod double 200ms
H1.sctp.sackFrequency int 2
H1.sctp.reactivatePrimaryPath bool false
H1.sctp.sendQueueLimit int 0
H1.sctp.validCookieLifetime double 10s

====== Testing =====================================================

H1.sctp.enableHeartbeats bool true

====== Heartbeats ==================================================

H1.sctp.hbInterval double 30s
H1.sctp.nagleEnabled bool true

====== Nagle Algorithm =============================================

H1.sctp.naglePoint int 1468
H1.sctp.fastRecoverySupported bool true

====== Congestion Control ==========================================

H1.sctp.sctpAlgorithmClass string "SCTPAlg"
H1.sctp.ccModule int 0

RFC4960=0

H1.sctp.ssModule int 0

ROUND_ROBIN=0

H1.sctp.arwnd int 65535
H1.sctp.swsLimit int 3000

Limit for SWS

H1.sctp.udpEncapsEnabled bool false
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 double 56B

of ping payload, in bytes

H1.pingApp.interval double 1s

time to wait between pings (can be random)

H1.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

H1.pingApp.count double 0

stop after count ping requests, 0 means continuously

H1.pingApp.startTime double uniform(0s,this.interval)

send first ping at startTime

H1.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

H1.pingApp.printPing bool true

dump on stdout

H1.networkLayer.ip.procDelay double 0s
H1.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

H1.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

H1.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

H1.ppp.ppp.mtu int 4470
H1.eth.mac.promiscuous bool false

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

H1.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
H1.ext.filterString string
H1.ext.device string
H1.ext.mtu int 1500
H1.tcpdump.dumpFile string ""
H1.tcpdump.threadEnable bool false
H1.tcpdump.snaplen int 65535
H1.tcpdump.verbosity int 0
H2.sctp.numGapReports int 3

====== SCTP Association Parameters =================================

H2.sctp.rtoInitial double 3s
H2.sctp.rtoMin double 1s
H2.sctp.rtoMax double 60s
H2.sctp.rtoAlpha double 0.125
H2.sctp.rtoBeta double 0.250
H2.sctp.maxBurst int 4
H2.sctp.assocMaxRetrans int 10
H2.sctp.pathMaxRetrans int 5
H2.sctp.maxInitRetrans int 8
H2.sctp.sackPeriod double 200ms
H2.sctp.sackFrequency int 2
H2.sctp.reactivatePrimaryPath bool false
H2.sctp.sendQueueLimit int 0
H2.sctp.validCookieLifetime double 10s

====== Testing =====================================================

H2.sctp.enableHeartbeats bool true

====== Heartbeats ==================================================

H2.sctp.hbInterval double 30s
H2.sctp.nagleEnabled bool true

====== Nagle Algorithm =============================================

H2.sctp.naglePoint int 1468
H2.sctp.fastRecoverySupported bool true

====== Congestion Control ==========================================

H2.sctp.sctpAlgorithmClass string "SCTPAlg"
H2.sctp.ccModule int 0

RFC4960=0

H2.sctp.ssModule int 0

ROUND_ROBIN=0

H2.sctp.arwnd int 65535
H2.sctp.swsLimit int 3000

Limit for SWS

H2.sctp.udpEncapsEnabled bool false
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 double 56B

of ping payload, in bytes

H2.pingApp.interval double 1s

time to wait between pings (can be random)

H2.pingApp.hopLimit double 32

TTL or hopLimit for IP packets

H2.pingApp.count double 0

stop after count ping requests, 0 means continuously

H2.pingApp.startTime double uniform(0s,this.interval)

send first ping at startTime

H2.pingApp.stopTime double 0s

send no pings after stopTime, 0 means forever

H2.pingApp.printPing bool true

dump on stdout

H2.networkLayer.ip.procDelay double 0s
H2.networkLayer.arp.retryTimeout double 1s

number seconds ARP waits between retries to resolve an IP address

H2.networkLayer.arp.retryCount int 3

number of times ARP will attempt to resolve an IP address

H2.networkLayer.arp.cacheTimeout double 120s

number seconds unused entries in the cache will time out

H2.ppp.ppp.mtu int 4470
H2.eth.mac.promiscuous bool false

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

H2.eth.mac.address string "auto"

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 double 100Mbps

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 true

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.mtu int 1500
H2.ext.filterString string
H2.ext.device string
H2.ext.mtu int 1500
H2.tcpdump.dumpFile string ""
H2.tcpdump.threadEnable bool false
H2.tcpdump.snaplen int 65535
H2.tcpdump.verbosity int 0

Source code:

network Backbone
{
    parameters:
        @display("p=10,10;b=736,568");
    types:
        channel C extends DatarateChannel
        {
            delay = 0.1us;
        }
    submodules:
        channelInstaller: ChannelInstaller {
            parameters:
                channelClass = "ThruputMeteringChannel";
                channelAttrs = "format=#N";
                @display("p=98,50");
        }
        R1: OSPFRouter {
            parameters:
                @display("p=372,340");
            gates:
                ethg[3];
        }
        N1: EtherHub {
            parameters:
                @display("p=368,268");
            gates:
                ethg[2];
        }
        N2: EtherHub {
            parameters:
                @display("p=452,384");
            gates:
                ethg[3];
        }
        R2: OSPFRouter {
            parameters:
                @display("p=368,188");
            gates:
                ethg[2];
        }
        R4: OSPFRouter {
            parameters:
                @display("p=216,432");
            gates:
                ethg[2];
        }
        R3: OSPFRouter {
            parameters:
                @display("p=532,428");
            gates:
                ethg[2];
        }
        N4: EtherHub {
            parameters:
                @display("p=368,100");
            gates:
                ethg[4];
        }
        N5: EtherHub {
            parameters:
                @display("p=612,476");
            gates:
                ethg[3];
        }
        R5: OSPFRouter {
            parameters:
                @display("p=488,284");
            gates:
                ethg[2];
        }
        R7: OSPFRouter {
            parameters:
                @display("p=256,284");
            gates:
                ethg[2];
        }
        R6: OSPFRouter {
            parameters:
                @display("p=372,476");
            gates:
                ethg[2];
        }
        N6: EtherHub {
            parameters:
                @display("p=136,476");
            gates:
                ethg[3];
        }
        N3: EtherHub {
            parameters:
                @display("p=292,384");
            gates:
                ethg[2];
        }
        H1: StandardHost {
            parameters:
                @display("p=372,420;i=device/laptop");
            gates:
                ethg[1];
        }
        H2: StandardHost {
            parameters:
                @display("p=368,40;i=device/laptop");
            gates:
                ethg[1];
        }
    connections:
        R1.ethg[0] <--> C <--> N1.ethg[1];
        R1.ethg[1] <--> C <--> N2.ethg[2];
        N1.ethg[0] <--> C <--> R2.ethg[1];
        R2.ethg[0] <--> C <--> N4.ethg[2];
        N4.ethg[1] <--> C <--> R5.ethg[1];
        R5.ethg[0] <--> C <--> N5.ethg[2];
        N2.ethg[0] <--> C <--> R3.ethg[1];
        R3.ethg[0] <--> C <--> N5.ethg[1];
        N5.ethg[0] <--> C <--> R6.ethg[0];
        N6.ethg[2] <--> C <--> R6.ethg[1];
        R1.ethg[2] <--> C <--> N3.ethg[0];
        N3.ethg[1] <--> C <--> R4.ethg[0];
        R4.ethg[1] <--> C <--> N6.ethg[1];
        N4.ethg[3] <--> C <--> R7.ethg[0];
        R7.ethg[1] <--> C <--> N6.ethg[0];
        N4.ethg[0] <--> C <--> H2.ethg[0];
        N2.ethg[1] <--> C <--> H1.ethg[0];
}