[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 --