Hello, i took the example multihomed from inet and made a second path to begin to implement cmt scenarios and PR from sctp. But with the PR, it seems that both clients do not send the heartbeats through router 3 and 4 to check out this second path created. Anyone could point out whats wrong with my scenario?
omnetpp.ini:
[General]
network = Network
warmup-period = 300s
sim-time-limit = 60s
cmdenv-express-mode = true
cmdenv-runs-to-execute = 0
tkenv-plugin-path = ../../../etc/plugins
tkenv-default-run = 0
Network.testing = false
Network.testTimeout = 0
############################################################################## CLIENT 1 ###############################################################################
**.cli1.numSctpApps = 1
**.cli1.sctpApp[*].typename = "SCTPClient"
**.cli1.sctpApp[0].localAddress = ""
**.cli1.sctpApp[0].connectAddress = "srv1%ppp0"
**.cli1.sctpApp[0].connectPort = 6666
**.cli1.sctpApp[0].startTime = 1s
**.cli1.sctpApp[0].numRequestsPerSession = 1000
**.cli1.sctpApp[0].requestLength = 10000
**.cli1.sctpApp[0].queueSize = 100
**.cli1.sctpApp[0].prMethod = 2 # 0=NONE 1=PR_TTL 2=PR_RTX 3=PR_PRIO 4=PR_STRRST
**.cli1.sctpApp[0].prValue = 1 # 0 retransmissions
############################################################################## CLIENT 2 ###############################################################################
**.cli2.numSctpApps = 1
**.cli2.sctpApp[0].typename = "SCTPClient"
**.cli2.sctpApp[0].localAddress = ""
**.cli2.sctpApp[0].connectAddress = "srv2%ppp0"
**.cli2.sctpApp[0].connectPort = 6666
**.cli2.sctpApp[0].startTime = 1s
**.cli2.sctpApp[0].numRequestsPerSession = 1000
**.cli2.sctpApp[0].requestLength = 10000
**.cli2.sctpApp[0].queueSize = 100
############################################################################## SERVER 1 ###############################################################################
**.srv1.numSctpApps = 1
**.srv1.sctpApp[*].typename = "SCTPServer"
**.srv1.sctpApp[0].localAddress = ""
**.srv1.sctpApp[0].localPort = 6666 # Discard Server for Client 1
**.srv1.sctpApp[0].numPacketsToReceivePerClient = 100
############################################################################## SERVER 2 ###############################################################################
**.srv2.numSctpApps = 1
**.srv2.sctpApp[0].typename = "SCTPServer"
**.srv2.sctpApp[0].localAddress = ""
**.srv2.sctpApp[0].localPort = 6666 # Discard Server for Client 1
**.srv2.sctpApp[0].numPacketsToReceivePerClient = 100
######################################################################################################################################################################
Tst1.ned:
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see
http://www.gnu.org/licenses/.
//
package dc1.simulations;
import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
import inet.node.inet.Router;
import inet.node.inet.StandardHost;
import ned.DatarateChannel;
//
// TODO documentation
//
network Network
{
parameters:
double testTimeout @unit(s) = default(0s);
bool testing = default(false);
@display("bgb=904,399");
types:
channel ppp2line extends DatarateChannel
{
delay = 10ms;
datarate = 1 Mbps;
}
submodules:
cli1: StandardHost {
parameters:
forwarding = false;
@display("p=53,135;i=device/laptop");
gates:
pppg[1];
}
srv1: StandardHost {
parameters:
forwarding = false;
@display("p=531,135;i=device/server2");
gates:
pppg[1];
}
router1: Router {
parameters:
@display("p=188,135;i=abstract/router");
gates:
pppg[2];
}
router2: Router {
parameters:
@display("p=338,135;i=abstract/router");
gates:
pppg[2];
}
router3: Router {
parameters:
@display("p=188,279;i=abstract/router");
gates:
pppg[2];
}
router4: Router {
parameters:
@display("p=323,279;i=abstract/router");
gates:
pppg[2];
}
configurator: IPv4NetworkConfigurator {
}
cli2: StandardHost {
parameters:
forwarding = false;
@display("p=53,279;i=device/laptop");
gates:
pppg[1];
}
srv2: StandardHost {
parameters:
forwarding = false;
@display("p=523,279;i=device/server2");
gates:
pppg[1];
}
connections:
cli1.pppg++ <--> ppp2line <--> router1.pppg++;
router1.pppg++ <--> ppp2line <--> router2.pppg++;
router2.pppg++ <--> ppp2line <--> srv1.pppg++;
cli1.pppg++ <--> ppp2line <--> router3.pppg++;
router3.pppg++ <--> ppp2line <--> router4.pppg++;
router4.pppg++ <--> ppp2line <--> srv1.pppg++;
cli2.pppg++ <--> ppp2line <--> router3.pppg++;
cli2.pppg++ <--> ppp2line <--> router1.pppg++;
router2.pppg++ <--> ppp2line <--> srv2.pppg++;
router4.pppg++ <--> ppp2line <--> srv2.pppg++;
}