How to install ZRP (Zone routing protocol) patch in ns-2.34
UbuntuThis forum is for the discussion of Ubuntu Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,518
Rep:
The code from http://sites.google.com/site/nsnamzrp/
.. is for the ancient ns-allinone-2.1b6a.
Ns-allinone-2.1b6a cannot be used, unless you have an old computer
with a 10 year old Linux OS.
Thank you for your reply.I read that manual, but when i install it i get error after writing the command
administrator@ubuntu:~/ns2/ns-allinone-2.34/zrp$ patch -p1 <patchmyZRP.sh && ./configure && make
bash: patchmyZRP.sh: No such file or directory
and if i run it from root i get error
root@ubuntu:~# patch -p1 <patchmyZRP.sh && ./configure && make
-bash: patchmyZRP.sh: No such file or directory
root@ubuntu:/home/administrator/ns2/ns-allinone-2.34/zrp# patch <patchmyZRP.sh && ./configure && make
patch: **** Only garbage was found in the patch input.
It is assumed, that you have a working ns-allinone-2.33,
i.e. the './install' command was run with no errors.
""Section 3.2 Instructions :
1. First put following files into NS-2 home's parent directory:
* ns-allinone-2.33_ZRP.tar.gz (This contains my code)
* PatchZRP.patch
* patchmyZRP.sh (THIS SHELL-SCRIPT FILE -
This script file should be run from NS-2 home' parent directory)
2. Run patchZRP.sh from shell."" ( Like 'sh patchZRP.sh' ).
.....
But the script patchZRP.sh isn't working, easier to do manually :
a) cd ns-allinone-2.33/ && patch -p1 < PatchZRP.patch
b) touch ns-2.33/common/packet.h && touch ns-2.33/trace/cmu-trace.h
c) cd ../ && tar xvf ns-allinone-2.33_ZRP.tar.gz
d) cd ns-allinone-2.33/ns-2.33 && make -k
... Tested this morning on Ubuntu 10.10, 32bits : OK.
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,518
Rep:
1) A patch / modification will most often only work for
the version of ns-2.xx, that it was meant for.
2) The Zrp files do not work with ns-2.34 .
3) You can have as many versions of ns-allinone-2.xx
as you want, installed at the same time.
But do not add any of them to a PATH, LD_LIBRARY_PATH.
( I have up to 10 version installed on each OS.)
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,518
Rep:
1) nam is a separate application. One 'nam' in /usr/local/bin/ will do.
2) The binary 'ns' is coded to know or find the path by itself. Usually.
All binary ns can have a copy in /usr/local/bin/ns-<version> ,
like this real life example
Distribution: PCLinuxOS2023 Fedora38 + 50+ other Linux OS, for test only.
Posts: 17,518
Rep:
A little more information about where ns looks for its libraries.
Imagine an "ns-allinone-2.34" built in /home/name/tmp-1 : The binary
ns will use libtcl* etc. from /home/name/tmp-1/ns-allinone-2.34/lib/
Then we try moving the whole application ns-allinone-2.34/ away from
/home/name/tmp-1/ .... .... to : /home/name/tmp-0
Now an 'ns command will reply :
This ns was built with /home/name/tmp-1/ns-allinone-2.34/lib/,
not present, instead using "/home/name/tmp-0/ns-allinone-2.34/lib/*
Conclusion : There is no reason to write any path for ns in .bashrc.
Thank for such useful information. i have install the ns-2.33 and also the zrp patch. but when i run the example which i attach it give me this error "ns: Agent/ZRP set radius_: can't read "radius_": no such variable
(Object set line 1)
invoked from within
"Agent/ZRP set radius_"
Your file : Added to line 68 : Agent/ZRP set radius_ 2 ;
And a couple more edits ( See for yourself )
and the file seems to be usable ? :
1) touch example.scen ( Will create an empty file 'example.scen'.)
2) touch example.traffic
( May be you have those 2 files ? )
3) ns example-zrp.tcl.txt : Will create pktdemo.tr, pktdemo.nam.
4) nam pktdemo.nam ; Click the 'Play button' : Will display "something".
..
Thank you it runs. i delete the line 51 and add this line (Agent/ZRP set radius_ 2 ;# Setting ZRP radius=2)after line 81.
and also delete these line if u do not have these lines ( #set val(cp) "example.scen" ...#set val(trfile) "example.traffic") and also their source.
but one problem in the trace file their is no zrp is showing instead AOMDV and cbr traffic is generating.
i also install ZRP in ns-allinone-2.34 successfully according to above instruction in post#6 but i did not follow write the command which is in step a; i copy it by myself in every file.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.