I have a simple script I am testing things on and I was trying to get DV to work on an MPTCP scenario. For the last 15 days I realised that it probably doesn't work and the way to fix it is above me. Someone mentioned the LS and I tried it and it works!!! (Future reference to guys maybe trying MPTCP)
BUT, now it doesn't send bytes. It's a simple topology and I will post the script here. I would really appreciate it if someone/anyone out there could take a look and see if I am missing something obvious (maybe something I need to do with LS) set ns [new Simulator] #trying to get multipath for routing $ns rtproto DV #$ns rtproto LS Node set multiPath_ 1 Agent/TCP/FullTcp/Sack set signal_on_empty_ 2 Agent/rtProto/DV set advertInterval 3600 Agent/rtProto/LS set advertInterval 3600 # # setup trace files # set f [open out.tr w] $ns trace-all $f set nf [open out.nam w] $ns namtrace-all $nf # # mptcp sender # set n0 [$ns node] puts "n0 $n0 [$n0 id]" # # mptcp receiver # set n1 [$ns node] puts "n1 $n1 [$n1 id]" # # intermediate nodes # set g1 [$ns node] $g1 color yellow puts "g1 $g1 [$g1 id]" set g2 [$ns node] $g2 color yellow puts "g2 $g2 [$g2 id]" set r1 [$ns node] puts "r1 $r1 [$r1 id]" set r2 [$ns node] puts "r2 $r2 [$r2 id]" set r3 [$ns node] puts "r3 $r3 [$r3 id]" set r4 [$ns node] puts "r4 $r4 [$r4 id]" #subflows of sender to gateway $ns duplex-link $n0 $g1 1Mb 5ms DropTail #gateway to intermediate nodes $ns duplex-link $g1 $r1 1Mb 5ms DropTail $ns duplex-link $g1 $r2 1Mb 5ms DropTail # $ns duplex-link $r1 $r3 1Mb 5ms RED $ns duplex-link $r2 $r4 1Mb 5ms RED #intermediate nodes to gateway for receiver $ns duplex-link $r3 $g2 1Mb 5ms DropTail $ns duplex-link $r4 $g2 1Mb 5ms DropTail #subflows of reveiver to gateway $ns duplex-link $n1 $g2 1Mb 5ms DropTail # # create mptcp sender # # 1. create subflows with Agent/TCP/FullTcp/Sack/Multipath # 2. attach subflow on each interface # 3. create mptcp core # 4. attach subflows to mptcp core # 5. attach mptcp core to core node # 6. attach application to mptcp core # set tcp0 [new Agent/TCP/FullTcp/Sack] #puts $tcp0 $ns attach-agent $n0 $tcp0 # # create mptcp receiver # set sink0 [new Agent/TCP/FullTcp/Sack] #puts $sink0 $ns attach-agent $n1 $sink0 $ns connect $tcp0 $sink0 $sink0 listen proc finish {} { global ns f global nf $ns flush-trace close $f close $nf exec nam out.nam & exit } #$ns at 0 "$ns dump-routelogic-nh " #$ns at 0.01 "[$ns get-routelogic] dump 8" $ns at 0.1 "$tcp0 advance-bytes [expr 536 * 5]" $ns at 3 "finish" $ns run # grep "^r 0\.[0-9]* [0] .* tcp" out.tr # grep "^r 0\.[0-9]* .* [1] tcp" out.tr in the script I have DV enable. If you run it and then run the grep commands you will see that there are exactly 5 packets leaving node 0 and 5 packets arriving node 1. But if you comment DV and enable LS in the trace file there are no other packets other than the routing algorithm's -- View this message in context: http://network-simulator-ns-2.7690.n7.nabble.com/LS-routing-algorithm-problem-tp28719.html Sent from the ns-users mailing list archive at Nabble.com.