[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HELP: Multicast router link max?



Jeff,

I ran out script on the most recent snapshot and it went (almost)
smoothly.  Please download the current snapshot.

A bit of a caution.  The next version of NS will support the 32-bit
addressing.  As a result, node address and port address will no longer
be stored in the same variable.  the variable dst_ was deleted and
replaced by dst_addr_ and dst_port_.  I have overloaded the set
operator for backward compatibility.

Also use [Node allocaddr] to get the next mcast address.  Assigning
0x8000 is not correct.

Nader



Jeff> Hi.  Is there some limitations to the number of links on a
Jeff> multicast router? In the script below, if I connect 128 nodes
Jeff> with receiver sinks to the source node, I get the following
Jeff> error: 
Jeff> 
Jeff> ns: _o2817 recv  255 0: no value given for parameter "m" to "_o2817"
Jeff>     (Agent/Mcast/Control recv line 1)
Jeff>     invoked from within
Jeff> "_o2817 recv  255 0"
Jeff> 
Jeff> If I change it to 127 nodes, it works fine.  (Just change j
Jeff> assignment in the script.)  If I change the routing scheme to
Jeff> CtrMcast, I get a core dump. Any ideas on the problem?  I am
Jeff> running the allinone release with ns-2.1b5 under Linux (RH 5.2).
Jeff> 
Jeff> Thanks in advance for any and all help,
Jeff> Jeff
Jeff> 
Jeff> PS I even tried connecting only 127 nodes to the source node and
Jeff> the 128th node to the first of the 127 nodes with the same
Jeff> results. 
Jeff> 
Jeff> set ns [new Simulator -multicast on]
Jeff> 
Jeff> $ns set-address-format expanded
Jeff> 
Jeff> # Allocate a few  nodes
Jeff> set n0 [$ns node]
Jeff> set j 128   # To make this script work, change this to 127 and
Jeff> comment out 
Jeff>             # the "set-address-format ..." line above.
Jeff> puts "creating nodes ..."
Jeff> for {set i 1} {$i <= $j} {incr i}
Jeff> 
Jeff>     set n($i) [$ns node]
Jeff> }
Jeff> 
Jeff> puts "creating links .."
Jeff> for {set i 1} {$i <= $j} {incr i}
Jeff> 
Jeff>     $ns duplex-link $n0 $n($i) 5Mb 2ms DropTail
Jeff> }
Jeff> 
Jeff> #set mproto CtrMcast
Jeff> #set mrthandle [$ns mrtproto $mproto {}]
Jeff> set mproto DM
Jeff> set mrthandle [$ns mrtproto $mproto {}]
Jeff> 
Jeff> set POLLSnd [new Agent/UDP]
Jeff> $ns attach-agent $n0 $POLLSnd
Jeff> set POLLSrc [new Application/Traffic/CBR]
Jeff> $POLLSrc attach-agent $POLLSnd
Jeff> 
Jeff> puts "creating receivers..."
Jeff> for {set i 1} {$i <= $j} {incr i} {
Jeff>     set POLLRcv($i) [new Agent/Null]
Jeff>     $ns attach-agent $n($i) $POLLRcv($i)
Jeff>     $ns at 0.2 "$n($i) join-group $POLLRcv($i) 0x8000"
Jeff> }
Jeff> 
Jeff> $POLLSnd set dst_ 0x8000
Jeff> 
Jeff> $ns at 0.3 "$POLLSrc start"
Jeff> 
Jeff> $ns at 10 "exit"
Jeff> 
Jeff> $ns run
Jeff> 
Jeff>