OSPF_mininet

Package: inet.examples.ospfv2.areatests

OSPF_mininet

network

(no description)

OspfRouter OspfRouter OspfRouter StandardHost OspfRouter OspfRouter StandardHost Ipv4NetworkConfigurator ScenarioManager

Usage diagram

The following diagram shows usage relationships between types. Unresolved types are missing from the diagram.

Parameters

Name Type Default value Description
numBBr int 2
numSBr int 2
numHst int 2

Properties

Name Value Description
isNetwork

Unassigned submodule parameters

Name Type Default value Description
BBR.status.initialStatus string "UP"

TODO @signal, @statistic

BBR.pcapRecorder.verbose bool true

whether to log packets on the module output

BBR.pcapRecorder.pcapFile string ""

the PCAP file to be written

BBR.pcapRecorder.fileFormat string "pcapng"
BBR.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

BBR.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

BBR.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

BBR.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

BBR.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

BBR.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

BBR.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

BBR.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

BBR.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

BBR.pcapRecorder.displayStringTextFormat string "rec: %n pks"
BBR.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

BBR.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.cb.forwardServiceRegistration bool true
BBR.cb.forwardProtocolRegistration bool true
BBR.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.bl.forwardServiceRegistration bool true
BBR.bl.forwardProtocolRegistration bool true
BBR.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.li.forwardServiceRegistration bool true
BBR.li.forwardProtocolRegistration bool true
BBR.eth.bitrate double
BBR.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.nl.forwardServiceRegistration bool true
BBR.nl.forwardProtocolRegistration bool true
BBR.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.tn.forwardServiceRegistration bool true
BBR.tn.forwardProtocolRegistration bool true
BBR.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBR.at.forwardServiceRegistration bool true
BBR.at.forwardProtocolRegistration bool true
BBR.bgp.interfaceTableModule string

The path to the InterfaceTable module

BBR.bgp.routingTableModule string
BBR.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
BBRtoS1.status.initialStatus string "UP"

TODO @signal, @statistic

BBRtoS1.pcapRecorder.verbose bool true

whether to log packets on the module output

BBRtoS1.pcapRecorder.pcapFile string ""

the PCAP file to be written

BBRtoS1.pcapRecorder.fileFormat string "pcapng"
BBRtoS1.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

BBRtoS1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

BBRtoS1.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

BBRtoS1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

BBRtoS1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

BBRtoS1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

BBRtoS1.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

BBRtoS1.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

BBRtoS1.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

BBRtoS1.pcapRecorder.displayStringTextFormat string "rec: %n pks"
BBRtoS1.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

BBRtoS1.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.cb.forwardServiceRegistration bool true
BBRtoS1.cb.forwardProtocolRegistration bool true
BBRtoS1.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.bl.forwardServiceRegistration bool true
BBRtoS1.bl.forwardProtocolRegistration bool true
BBRtoS1.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.li.forwardServiceRegistration bool true
BBRtoS1.li.forwardProtocolRegistration bool true
BBRtoS1.eth.bitrate double
BBRtoS1.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.nl.forwardServiceRegistration bool true
BBRtoS1.nl.forwardProtocolRegistration bool true
BBRtoS1.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.tn.forwardServiceRegistration bool true
BBRtoS1.tn.forwardProtocolRegistration bool true
BBRtoS1.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS1.at.forwardServiceRegistration bool true
BBRtoS1.at.forwardProtocolRegistration bool true
BBRtoS1.bgp.interfaceTableModule string

The path to the InterfaceTable module

BBRtoS1.bgp.routingTableModule string
BBRtoS1.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
S1R.status.initialStatus string "UP"

TODO @signal, @statistic

S1R.pcapRecorder.verbose bool true

whether to log packets on the module output

S1R.pcapRecorder.pcapFile string ""

the PCAP file to be written

S1R.pcapRecorder.fileFormat string "pcapng"
S1R.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

S1R.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

S1R.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

S1R.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

S1R.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

S1R.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

S1R.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

S1R.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

S1R.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

S1R.pcapRecorder.displayStringTextFormat string "rec: %n pks"
S1R.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

S1R.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.cb.forwardServiceRegistration bool true
S1R.cb.forwardProtocolRegistration bool true
S1R.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.bl.forwardServiceRegistration bool true
S1R.bl.forwardProtocolRegistration bool true
S1R.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.li.forwardServiceRegistration bool true
S1R.li.forwardProtocolRegistration bool true
S1R.eth.bitrate double
S1R.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.nl.forwardServiceRegistration bool true
S1R.nl.forwardProtocolRegistration bool true
S1R.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.tn.forwardServiceRegistration bool true
S1R.tn.forwardProtocolRegistration bool true
S1R.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1R.at.forwardServiceRegistration bool true
S1R.at.forwardProtocolRegistration bool true
S1R.bgp.interfaceTableModule string

The path to the InterfaceTable module

S1R.bgp.routingTableModule string
S1R.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
S1H.status.initialStatus string "UP"

TODO @signal, @statistic

S1H.pcapRecorder.verbose bool true

whether to log packets on the module output

S1H.pcapRecorder.pcapFile string ""

the PCAP file to be written

S1H.pcapRecorder.fileFormat string "pcapng"
S1H.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

S1H.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

S1H.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

S1H.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

S1H.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

S1H.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

S1H.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

S1H.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

S1H.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

S1H.pcapRecorder.displayStringTextFormat string "rec: %n pks"
S1H.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

S1H.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.cb.forwardServiceRegistration bool true
S1H.cb.forwardProtocolRegistration bool true
S1H.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.bl.forwardServiceRegistration bool true
S1H.bl.forwardProtocolRegistration bool true
S1H.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.li.forwardServiceRegistration bool true
S1H.li.forwardProtocolRegistration bool true
S1H.eth.bitrate double
S1H.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.nl.forwardServiceRegistration bool true
S1H.nl.forwardProtocolRegistration bool true
S1H.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.tn.forwardServiceRegistration bool true
S1H.tn.forwardProtocolRegistration bool true
S1H.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S1H.at.forwardServiceRegistration bool true
S1H.at.forwardProtocolRegistration bool true
BBRtoS2.status.initialStatus string "UP"

TODO @signal, @statistic

BBRtoS2.pcapRecorder.verbose bool true

whether to log packets on the module output

BBRtoS2.pcapRecorder.pcapFile string ""

the PCAP file to be written

BBRtoS2.pcapRecorder.fileFormat string "pcapng"
BBRtoS2.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

BBRtoS2.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

BBRtoS2.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

BBRtoS2.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

BBRtoS2.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

BBRtoS2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

BBRtoS2.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

BBRtoS2.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

BBRtoS2.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

BBRtoS2.pcapRecorder.displayStringTextFormat string "rec: %n pks"
BBRtoS2.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

BBRtoS2.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.cb.forwardServiceRegistration bool true
BBRtoS2.cb.forwardProtocolRegistration bool true
BBRtoS2.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.bl.forwardServiceRegistration bool true
BBRtoS2.bl.forwardProtocolRegistration bool true
BBRtoS2.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.li.forwardServiceRegistration bool true
BBRtoS2.li.forwardProtocolRegistration bool true
BBRtoS2.eth.bitrate double
BBRtoS2.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.nl.forwardServiceRegistration bool true
BBRtoS2.nl.forwardProtocolRegistration bool true
BBRtoS2.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.tn.forwardServiceRegistration bool true
BBRtoS2.tn.forwardProtocolRegistration bool true
BBRtoS2.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

BBRtoS2.at.forwardServiceRegistration bool true
BBRtoS2.at.forwardProtocolRegistration bool true
BBRtoS2.bgp.interfaceTableModule string

The path to the InterfaceTable module

BBRtoS2.bgp.routingTableModule string
BBRtoS2.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
S2R.status.initialStatus string "UP"

TODO @signal, @statistic

S2R.pcapRecorder.verbose bool true

whether to log packets on the module output

S2R.pcapRecorder.pcapFile string ""

the PCAP file to be written

S2R.pcapRecorder.fileFormat string "pcapng"
S2R.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

S2R.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

S2R.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

S2R.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

S2R.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

S2R.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

S2R.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

S2R.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

S2R.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

S2R.pcapRecorder.displayStringTextFormat string "rec: %n pks"
S2R.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

S2R.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.cb.forwardServiceRegistration bool true
S2R.cb.forwardProtocolRegistration bool true
S2R.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.bl.forwardServiceRegistration bool true
S2R.bl.forwardProtocolRegistration bool true
S2R.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.li.forwardServiceRegistration bool true
S2R.li.forwardProtocolRegistration bool true
S2R.eth.bitrate double
S2R.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.nl.forwardServiceRegistration bool true
S2R.nl.forwardProtocolRegistration bool true
S2R.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.tn.forwardServiceRegistration bool true
S2R.tn.forwardProtocolRegistration bool true
S2R.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2R.at.forwardServiceRegistration bool true
S2R.at.forwardProtocolRegistration bool true
S2R.bgp.interfaceTableModule string

The path to the InterfaceTable module

S2R.bgp.routingTableModule string
S2R.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
S2H.status.initialStatus string "UP"

TODO @signal, @statistic

S2H.pcapRecorder.verbose bool true

whether to log packets on the module output

S2H.pcapRecorder.pcapFile string ""

the PCAP file to be written

S2H.pcapRecorder.fileFormat string "pcapng"
S2H.pcapRecorder.snaplen int 65535

maximum number of bytes to record per packet

S2H.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

S2H.pcapRecorder.moduleNamePatterns string "wlan[*] eth[*] ppp[*]"

space-separated list of sibling module names to listen on

S2H.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

S2H.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

S2H.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

space-separated list of protocol names as defined in the Protocol class

S2H.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

S2H.pcapRecorder.helpers string ""

usable PcapRecorder::IHelper helpers for accept packettype and store/convert packet as specified linktype currently available: "inet::AckingMacToEthernetPcapRecorderHelper"

S2H.pcapRecorder.alwaysFlush bool false

flush the pcapFile after each write to ensure that all packets are captured in case of a crash

S2H.pcapRecorder.displayStringTextFormat string "rec: %n pks"
S2H.interfaceTable.displayAddresses bool false

whether to display IP addresses on links

S2H.cb.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.cb.forwardServiceRegistration bool true
S2H.cb.forwardProtocolRegistration bool true
S2H.bl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.bl.forwardServiceRegistration bool true
S2H.bl.forwardProtocolRegistration bool true
S2H.li.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.li.forwardServiceRegistration bool true
S2H.li.forwardProtocolRegistration bool true
S2H.eth.bitrate double
S2H.nl.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.nl.forwardServiceRegistration bool true
S2H.nl.forwardProtocolRegistration bool true
S2H.tn.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.tn.forwardServiceRegistration bool true
S2H.tn.forwardProtocolRegistration bool true
S2H.at.displayStringTextFormat string "processed %p pk (%l)"

determines the text that is written on top of the submodule

S2H.at.forwardServiceRegistration bool true
S2H.at.forwardProtocolRegistration bool true
configurator.minLinkWeight double 1E-3
configurator.configureIsolatedNetworksSeparatly bool false
configurator.assignAddresses bool true

assign IP addresses to all interfaces in the network

configurator.assignUniqueAddresses bool true

avoid using the same address and raise an error if not possible

configurator.assignDisjunctSubnetAddresses bool true

avoid using the same address prefix and netmask on different links when assigning IP addresses to interfaces

configurator.addSubnetRoutes bool true

add subnet routes instead of destination interface routes (only where applicable; used only if addStaticRoutes is true)

configurator.addDirectRoutes bool true

add direct routes (i.e. directly connected interfaces) to the routing table (used only if addStaticRoutes is true)

configurator.optimizeRoutes bool true

optimize routing tables by merging routes, the resulting routing table might route more packets than the original (used only if addStaticRoutes is true)

configurator.dumpTopology bool false

print extracted network topology to the module output

configurator.dumpLinks bool false

print recognized network links to the module output

configurator.dumpAddresses bool false

print assigned IP addresses for all interfaces to the module output

configurator.dumpRoutes bool false

print configured and optimized routing tables for all nodes to the module output

configurator.dumpConfig string ""

write configuration into the given config file that can be fed back to speed up subsequent runs (network configurations)

scenarioManager.script xml xml("")

Source code

network OSPF_mininet
{
    parameters:
        int numBBr = 2;
        int numSBr = 2;
        int numHst = 2;
    types:
        channel C extends ThruputMeteringChannel
        {
            delay = 0.1us;
            datarate = 100Mbps;
            thruputDisplayFormat = "#N";
        }
    submodules:
        BBR[numBBr]: OspfRouter {
            @display("p=700,150,col,100");
        }
        BBRtoS1: OspfRouter {
            @display("p=850,150");
        }
        S1R[numSBr]: OspfRouter {
            @display("p=1000,150,col,100");
        }
        S1H[numHst]: StandardHost {
            @display("p=1150,150,col,100");
        }
        BBRtoS2: OspfRouter {
            @display("p=550,150");
        }
        S2R[numSBr]: OspfRouter {
            @display("p=400,150,col,100");
        }
        S2H[numHst]: StandardHost {
            @display("p=250,150,col,100");
        }
        configurator: Ipv4NetworkConfigurator {
            parameters:
                config = xml("<config>"+
                            "<interface hosts='BBR[*]' address='192.168.100.x' netmask='255.255.255.x' />"+
                            "<interface hosts='BBRtoS*' towards='BBR[*]' address='192.168.100.x' netmask='255.255.255.x' />"+

                            "<interface hosts='BBRtoS1' towards='S1R[*]' address='192.168.201.x' netmask='255.255.255.x' />"+
                            "<interface hosts='S1H[*] S1R[*]' address='192.168.201.x' netmask='255.255.255.x' />"+

                            "<interface hosts='BBRtoS2' towards='S2R[*]' address='192.168.202.x' netmask='255.255.255.x' />"+
                            "<interface hosts='S2H[*] S2R[*]' address='192.168.202.x' netmask='255.255.255.x' />"+

                            "<route hosts='S*H[*]' destination='*' netmask='0.0.0.0' interface='eth0' />"+
                            "</config>");
                addStaticRoutes = false;
                addDefaultRoutes = false;
                @display("p=100,100;is=s");
        }
        scenarioManager: ScenarioManager {
            @display("p=100,200;is=s");
        }
    connections:
        BBRtoS1.ethg++ <--> C <--> BBR[0].ethg++;
        BBRtoS1.ethg++ <--> C <--> S1R[0].ethg++;
        BBRtoS2.ethg++ <--> C <--> S2R[0].ethg++;
        BBRtoS2.ethg++ <--> C <--> BBR[numBBr-1].ethg++;
        for i=1..numBBr-1 {
            BBR[i-1].ethg++ <--> C <--> BBR[i].ethg++;
        }
        for i=1..numSBr-1 {
            S1R[i-1].ethg++ <--> C <--> S1R[i].ethg++;
            S2R[i-1].ethg++ <--> C <--> S2R[i].ethg++;
        }
        for i=0..numHst-1 {
            S1R[numSBr-1].ethg++ <--> C <--> S1H[i].ethg++;
            S2R[numSBr-1].ethg++ <--> C <--> S2H[i].ethg++;
        }
}

File: examples/ospfv2/areatests/mininet.ned