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

Problem with LAN and Multicast..



Hi,

I tried to setup a simple (centralized) multicast simulation 
with receivers in LAN.  The topology was:

          n0  Multicast Sender
           |
          n1  Router
          / \
         /   \
       m0    p0
   m1  |      |
   +---+      +---+
   m2             p1

   LAN0       LAN1

  LAN0: m0, m1, m2
  LAN1: p0, p1
  Multicast Receivers:  m0, m1, p0, p1  (m2 is not a multicast receiver)

I ran the simulation in Solaris2.6 + ns-allinone-2.1b5 + the
following patches in LAN/CtrMcast routing modules:  (According 
to ns' history page and Salehi's information)
 - [salehi] Fri Apr 30 17:50:50 PDT 1999 (ARP patch)
 - [salehi] Fri Apr 16 15:01:44 PDT 1999 (LAN/Centralized Multicast patch)


The error I got when I run a script below was something about
cache-miss when the application started sending packets:

-- ERROR BEGIN --
ns: _o13 new-group 0 32768 -1 cache-miss: _o136: unable to dispatch method
if-label?
    while executing
"$rpfl if-label?"
    (procedure "_o172" line 41)
    (CtrMcastComp compute-branch line 41)
    invoked from within
"$self compute-branch $src $group $mem"
    (procedure "_o172" line 3)
    (CtrMcastComp compute-tree line 3)
    invoked from within
"$agent_ compute-tree $node_ $group"
    (procedure "_o182" line 21)
    (CtrMcast handle-cache-miss line 21)
    invoked from within
"_o182 handle-cache-miss 0 32768 -1"
    ("eval" body line 1)
    invoked from within
"eval $self handle-$code $args"
    (procedure "_o182" line 2)
    (McastProtocol upcall line 2)
    invoked from within
"$protocols_($iface) upcall $code $source $group $iface"
    (procedure "_o14" line 9)
    (mrtObject upcall line 9)
    invoked from within
"$mrtObject_ upcall $code $src $group $iface"
    (procedure "_o10" line 3)
    (Node new-group line 3)
    invoked from within
"$node_ new-group $src $group $iface $code"
    (procedure "_o13" line 3)
    (Classifier/Multicast new-group line 3)
    invoked from within
"_o13 new-group 0 32768 -1 cache-miss"

-- ERROR END ----


Is there anything wrong in the script (below) ? or is it an ns bug ?
 
I'll need the result from a simulation similar to this configuration 
very soon..  Any prompt response/patches will be greatly appreciated..

Thanks,
Apinun.

 
-- SCRIPT BEGIN --
set ns [new Simulator -multicast on]
set f [open out.nam w]
$ns namtrace-all $f

set n0 [$ns node]; puts "n0 is $n0"
set n1 [$ns node]; puts "n1 is $n1"

set m0 [$ns node]; puts "m0 is $m0"
set m1 [$ns node]; puts "m1 is $m1"
set m2 [$ns node]; puts "m2 is $m2"

set p0 [$ns node]; puts "p0 is $p0"
set p1 [$ns node]; puts "p1 is $p1"

set group [expr [Node allocaddr]]; puts "Group is $group"

$ns duplex-link $n0 $n1 10Mb 10ms DropTail
$ns duplex-link $n1 $m0 10Mb 10ms DropTail
$ns duplex-link $n1 $p0 5Mb  10ms DropTail

$ns duplex-link-op $n1 $m0 orient down
$ns duplex-link-op $n1 $p0 orient down

set lan0 [$ns make-lan "$m0 $m1 $m2" 10Mb 10ms LL Queue/DropTail Mac/802_3 Channel]
set lan1 [$ns make-lan "$p0 $p1"     10Mb 10ms LL Queue/DropTail Mac/802_3 Channel]

puts "lan0 is $lan0"
puts "lan1 is $lan1"

set mproto CtrMcast
set mrthandle [$ns mrtproto $mproto {} ]

$mrthandle set_c_rp $n0
$mrthandle compute-mroutes

;# Sender
set sag  [new Agent/UDP]
set sapp [new Application/Traffic/CBR]
$ns   attach-agent $n0 $sag
$sapp attach-agent $sag
$sag set dst_ $group

;# Receivers
set m0ag [new Agent/Null]
set m1ag [new Agent/Null]
set p0ag [new Agent/Null]
set p1ag [new Agent/Null]

$ns attach-agent $m0 $m0ag
$ns attach-agent $m1 $m1ag
$ns attach-agent $p0 $p0ag
$ns attach-agent $p1 $p1ag

$ns at 0.2  "$m0 join-group $m0ag $group"
$ns at 0.2  "$m1 join-group $m1ag $group"
$ns at 0.2  "$m2 join-group $m1ag $group"
$ns at 0.2  "$p0 join-group $p0ag $group"
$ns at 0.2  "$p1 join-group $p1ag $group"

$ns at 0.4  "$n0 join-group $sag  $group"
$ns at 1.0  "$sapp start"

$ns at 30.0 "$ns halt"
$ns run

$ns flush-trace
close $f

-- SCRIPT END --