Hello,
I have verified my mptcp configurations :
net.mptcp.mptcp_path_manager = "fullmesh"
net.mptcp.mptcp_scheduler = "default"
I have also forced these in the dce-iperf-mptcp.cc file :
// debug
stack.SysctlSet (nodes, ".net.mptcp.mptcp_debug", "1");
// mptcp full-mesh path-manager
stack.SysctlSet (nodes, ".net.mptcp.mptcp_path_manager", "fullmesh");
// mptcp default scheduler
stack.SysctlSet (nodes, ".net.mptcp.mptcp_scheduler", "default");
As you can see, the debug is also activated.
However after the simulation with dce-iperf-mptcp, in the pcap files generated, I do not see a full mesh. I see for example,
10.1.0.1 talk to 10.2.0.1 and 10.1.1.1 talk to 10.2.1.1
What about the communications (10.1.0.1, 10.2.1.1) and (10.1.1.1, 10.2.0.1) ?
Basically I don't see a fullmesh.
I see other two ip addresses : 10.1.0.2 and 10.1.1.2 but they cannot reach the network.
I guess that's because the routes have not been defined for them; but what about (10.1.0.1, 10.2.1.1) and (10.1.1.1, 10.2.0.1) ?
Here is the log generated in $HOME/ns-3-dce/files-0/var/log/messages :
<5>Linux version 4.1.0+ (lawrence@lawrence) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #0 Thu Oct 20 18:33:51 CEST 2016
<6>NET: Registered protocol family 16
<6>NET: Registered protocol family 2
<6>default registered
<6>default registered
<6>MPTCP: Stable release v0.89.0-rc<6>TCP established hash table entries: 512 (order: 0, 4096 bytes)
<6>TCP bind hash table entries: 512 (order: 0, 4096 bytes)
<6>TCP: Hash tables configured (established 512 bind 512)
<6>UDP hash table entries: 128 (order: 0, 4096 bytes)
<6>UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
<6>NET: Registered protocol family 10
<6>nsc: IPv6 over IPv4 tunneling driver
<6>fullmesh registered
<6>ndiffports registered
<6>binder registered
<6>roundrobin registered
<3>net/mptcp/mptcp_ctrl.c: mptcp_alloc_mpcb: created mpcb with token 0x811aef13
<3>net/mptcp/mptcp_ctrl.c: mptcp_add_sock: token 0x811aef13 pi 1, src_addr:10.1.0.1:37655 dst_addr:10.2.0.1:5001, cnt_subflows now 1
<3>net/mptcp/mptcp_ctrl.c: mptcp_add_sock: token 0x811aef13 pi 2, src_addr:0.0.0.0:0 dst_addr:0.0.0.0:0, cnt_subflows now 2
<3>net/mptcp/mptcp_ipv4.c: mptcp_init4_subsockets: token 0x811aef13 pi 2 src_addr:10.1.1.1:0 dst_addr:10.2.0.1:5001
<3>net/mptcp/mptcp_ctrl.c: mptcp_add_sock: token 0x811aef13 pi 3, src_addr:0.0.0.0:0 dst_addr:0.0.0.0:0, cnt_subflows now 3
<3>net/mptcp/mptcp_ipv4.c: mptcp_init4_subsockets: token 0x811aef13 pi 3 src_addr:10.1.0.1:0 dst_addr:10.2.1.1:5001
<3>net/mptcp/mptcp_ctrl.c: mptcp_add_sock: token 0x811aef13 pi 4, src_addr:0.0.0.0:0 dst_addr:0.0.0.0:0, cnt_subflows now 4
<3>net/mptcp/mptcp_ipv4.c: mptcp_init4_subsockets: token 0x811aef13 pi 4 src_addr:10.1.1.1:0 dst_addr:10.2.1.1:5001
<3>net/mptcp/mptcp_ctrl.c: mptcp_del_sock: Removing subsock tok 0x811aef13 pi:2 state 7 is_meta? 0
<3>net/mptcp/mptcp_ctrl.c: mptcp_del_sock: Removing subsock tok 0x811aef13 pi:3 state 7 is_meta? 0
<3>net/mptcp/mptcp_ctrl.c: mptcp_close: Close of meta_sk with tok 0x811aef13
<3>net/mptcp/mptcp_ctrl.c: mptcp_del_sock: Removing subsock tok 0x811aef13 pi:4 state 7 is_meta? 0
<3>net/mptcp/mptcp_ctrl.c: mptcp_del_sock: Removing subsock tok 0x811aef13 pi:1 state 7 is_meta? 0
<3>net/mptcp/mptcp_ctrl.c: mptcp_sock_destruct destroying meta-sk
There seems to be a route defined for (10.1.1.1, 10.2.0.1) and (10.1.0.1, 10.2.1.1)
What should I do to have a full mesh ?
Lawrence