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

[ns] Re: Regarding



> Hi,
> This does change the core, but the senders are still sending to the old
> core, so the receivers get disconnected. Most probably the senders are not
> understanding that the core has changed. Can you suggest something?
> Thanks for the help
> Anirban
> 
> On Sun, 27 Feb 2000, Polly Huang wrote:
> 
> > Anirban,
> > 
> > Say initially, you set the c_rp to $n2 like:
> > set mproto CtrMcast
> > set mrthandle [$ns mrtproto $mproto {}]
> > $mrthandle set_c_rp $n2 
> > 
> > To change the core in the middle of a simulation, you need to reassign
> > c_rp, and then re-compute rpset adn mcast routes like this:
> > $ns at 0.7  "$mrthandle set_c_rp $n0"
> > $ns at 0.71 "[$mrthandle set ctrrpcomp] compute-rpset"
> > $ns at 0.72 "$mrthandle compute-mroutes"
> > 
> > hope this helps,
> > -Polly
> > 

I think the problem is in "CtrMcastComp instproc set_c_rp" in
CtrMcastComp.tcl. 
You can go through the process following the functions called in file 
CtrMcast.tcl. The function "handle-cache-miss" attach the RP with
Encapagent. (But I don't know clearly how and when this function is called.)

One solution, for me, is :
unset_c_rp,
detach the old RP with Encapagent,
set_c_rp to the new RP,
attach the new RP with Encapagent,
recache it,
compute-mroutes.

The modification of the three Ctr*.tcl is needed.

The quality of this method is not guaranteed :) 

-Chong