PRELIMINARY FHMIP upgraded for ns2.31
I've upgraded the Robert Hsieh's FHMIP code in order to compile in latest ns2.31. I've also added to it the modifications detailed in appendix B of this report (Handover Blackout Duration of Layer 3 Mobility Management Schemes", http://www.tkn.tu-berlin.de/publications/papers/Handover_Blackout_Duration_o f_L3_Mobility_Management_Schemes1.pdf) However, when I've tried the HMIP part of the extension (the MAP), the simulation continues to crash in a failed assert; however, I've tried the FMIP part alone, and it seems to run OK. __Please note that I did not test this extension any further__ To install: first, install NS-allinone-2.31; then, uncompress and apply the patch (http://tagus.inesc-id.pt/~pestrela/ns2/files/ns2.31_fhmip.patch.gz) , then reconfigure and recompile ns2 again. The original FHMIP example is located in /tcl/ex/fhmip ns2.31> cat ns2.31_fhmip.patch | patch -p1 ns2.31> ./configure --enable-debug ns2.31> make ns2.31/tcl/ex/fhmip> ../../../ns fhmip_simula.tcl __again, Please note that I did not test this extension any further__ Pedro Vale Estrela http://tagus.inesc-id.pt/~pestrela/ns2/mobility.html#_Toc147660119 > Pedro Vale Estrela schrieb: > > Hi all, > > Previously, I've asked in the NS2 list if anyone had a copy of Robert > > Hsieh's FHMIP NS2 extension for NS2.1b7; with the reply, I've updated my > NS2 > > mobility page with the available source code: > > http://tagus.inesc-id.pt/~pestrela/ns2/mobility.html#_Toc147660119 > > > > Currently, I'm trying to upgrade and put this extension to work. > > I've already got it compiling in NS2.31, but when I run the > __unmodified__ > > example (simula.tcl), I got this failed assertion: > > > > -------- > > BS Setting up encapsulate mechanism [1.0.1]->[2.0.0] > > 7.093759 HA 1.0.0 updated (FA 2.0.0), packet 32 > > 7.150404 BS 3.1.0 received reply from BS 1.0.0, packet 32 > > mipmh->coa_ 2.0.0 nodeaddr 3.1.0 > > ns: mobile/mip-reg.cc:261: virtual void MIPBSAgent::recv(Packet*, > Handler*): > > Assertion `miph->coa_ == nodeaddr' failed. > > Aborted (core dumped) > > -------- > > > > This happens in this part of the code: > > > > -------- > > case MIPT_REG_REPLY: > > { > > #ifndef MIP_QUIET > > printf("%f BS %s received reply from BS %s, packet %i\n", > > Scheduler::instance().clock(), > > Address::instance().print_nodeaddr(addr()), > > Address::instance().print_nodeaddr(iph->saddr()), ch->uid()); > > // JCW > > #endif > > > > assert(miph->coa_ == nodeaddr); // <<<< crashes here > > tcl.evalf("%s get-link %d %d", name_, nodeaddr, miph->haddr_); > > // > > // XXX hacking mobileip. all this should go away > > // when mobileIP for sun-wired model is no longer reqd. > > // > > ... > > -------- > > > > Thus, my questions are: > > a) has somebody got an working FHMIP extension? > > b) Is it necessary to modify simula.tcl or mip-reg.cc use another > simulation > > scenario, as to avoid this bug? > > > > If yes, please send me the modified code and I'll upgrade it to ns2.31, > and > > give credit to the person in my NS2 mobility page. > > > > Pedro Vale Estrela > > > > > >