multihomed

Package: inet.examples.sctp.cmttest

multihomed

network

(no description)

StandardHost StandardHost Router Router

Usage diagram

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

Parameters

Name Type Default value Description
testTimeout double 0s
testing bool false

Properties

Name Value Description
isNetwork

Unassigned submodule parameters

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

TODO @signal, @statistic

sctp_client.pcapRecorder.verbose bool true

whether to log packets on the module output

sctp_client.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

sctp_client.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

sctp_client.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

sctp_client.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

sctp_client.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

sctp_client.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

sctp_client.pcapRecorder.helpers string ""

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

sctp_client.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

sctp_client.at.forwardServiceRegistration bool true
sctp_client.at.forwardProtocolRegistration bool true
sctp_server.status.initialStatus string "UP"

TODO @signal, @statistic

sctp_server.pcapRecorder.verbose bool true

whether to log packets on the module output

sctp_server.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

sctp_server.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

sctp_server.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

sctp_server.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

sctp_server.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

sctp_server.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

sctp_server.pcapRecorder.helpers string ""

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

sctp_server.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

sctp_server.at.forwardServiceRegistration bool true
sctp_server.at.forwardProtocolRegistration bool true
router1.status.initialStatus string "UP"

TODO @signal, @statistic

router1.pcapRecorder.verbose bool true

whether to log packets on the module output

router1.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

router1.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

router1.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

router1.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

router1.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router1.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

router1.pcapRecorder.helpers string ""

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

router1.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

The path to the InterfaceTable module

router1.bgp.routingTableModule string
router1.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""
router2.status.initialStatus string "UP"

TODO @signal, @statistic

router2.pcapRecorder.verbose bool true

whether to log packets on the module output

router2.pcapRecorder.pcapFile string ""

the PCAP file to be written

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

maximum number of bytes to record per packet

router2.pcapRecorder.dumpBadFrames bool true

enable dump of frames with hasBitError

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

space-separated list of sibling module names to listen on

router2.pcapRecorder.sendingSignalNames string "packetSentToLower"

space-separated list of outbound packet signals to subscribe to

router2.pcapRecorder.receivingSignalNames string "packetReceivedFromLower"

space-separated list of inbound packet signals to subscribe to

router2.pcapRecorder.dumpProtocols string "ethernetmac ppp ieee80211mac"

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

router2.pcapRecorder.packetFilter object "*"

which packets are considered, matches all packets by default

router2.pcapRecorder.helpers string ""

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

router2.pcapRecorder.alwaysFlush bool false

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

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

whether to display IP addresses on links

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

determines the text that is written on top of the submodule

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

The path to the InterfaceTable module

router2.bgp.routingTableModule string
router2.bgp.ospfRoutingModule string parent.hasOspf ? "^.ospf" : ""

Source code

network multihomed
{
    parameters:
        double testTimeout @unit(s) = default(0s);
        bool testing = default(false);

    submodules:
        sctp_client: StandardHost {
            parameters:
                forwarding = false;
                ipv4.configurator.networkConfiguratorModule = "";
                @display("p=100,200;i=device/laptop");
            gates:
                pppg[2];
        }
        sctp_server: StandardHost {
            parameters:
                forwarding = false;
                ipv4.configurator.networkConfiguratorModule = "";
                @display("p=450,200;i=device/server2");
            gates:
                pppg[2];

        }
        router1: Router {
            parameters:
                ipv4.configurator.networkConfiguratorModule = "";
                @display("p=200,100;i=abstract/router");
            gates:
                pppg[4];
        }
        router2: Router {
            parameters:
                ipv4.configurator.networkConfiguratorModule = "";
                @display("p=350,100;i=abstract/router");
            gates:
                pppg[4];
        }
    connections:
        sctp_client.pppg[0] <--> NormalPath <--> router1.pppg[0];
        sctp_client.pppg[1] <--> NormalPath <--> router1.pppg[1];
        router1.pppg[2] <--> BottlePath <--> router2.pppg[0];
        router1.pppg[3] <--> BottlePath <--> router2.pppg[1];
        router2.pppg[2] <--> NormalPath <--> sctp_server.pppg[0];
        router2.pppg[3] <--> NormalPath <--> sctp_server.pppg[1];
}

File: examples/sctp/cmttest/multihomed.ned