After Install Gpsr, Test The Perimeter Mode , It Has Throw "Wrong The Other Node"

hello there!
the common communication between nodes is fine, but when i want to test the perimeter mode it has throw the error "Wrong the other node", it seems that it couldn't find its next hop node.
i trace the code as show below
Code:
int
GPSRNeighbors::intersect(nsaddr_t theother, double sx, double sy,
			 double dx, double dy){
  //line 1 (x1,y1)--(x2,y2) is the segment
  //line 2 (x3,y3)--(x4,y4) is the xD 
  struct gpsr_neighbor *other = getnb(theother);

  if(other==NULL){
    printf("Wrong the other node\n");
    exit(1);
  }


  ****************

struct gpsr_neighbor*
GPSRNeighbors::getnb(nsaddr_t nid){
  struct gpsr_neighbor *temp = head_;
  while(temp){
    if(temp->id_ == nid){
      if((GPSR_CURRENT - temp->ts_) < DEFAULT_GPSR_TIMEOUT)
	return temp;
      else {
	delnb(temp); //if this entry expire, delete it and return NULL
	return NULL;
      }
      return temp;
    }
    temp = temp->next_;
  }
  return NULL;
}

the simulation scene was shown in the attachment.
when i make node 0 send packet to node 1, the error will occur.
would somebody know how to solve it?
thank you for your time!


Similar Content



Tips On Using Bash Script To Edit A Windows Text File

I have a bash script executing on an AIX server to a windows share directory to update a windows text file. Most of the file is edited as expected but I have 3 issues that I am not sure how to resolve.

1. Windows text file contains a double backslash (\\) and the \\ is being written back as a single \ which corrupts the file.
2. I am not getting the last line of text in the file written back out.
3. Some lines of text are not written back out completely.

Here is a snippet of my bash script:
cp $Directory/Somefile $Directory/Somefile.$(date +'%Y%m%d')
cat /dev/null > ${HOME}/temp.out

while read -r inpLine; do
patternFound=n
echo ${inpLine} | grep -q 'SOMEPATTERN='
if [ $? = 0 ]; then
patternFound=y
echo "##${inpLine}" >> ${HOME}/temp.out
echo "SOMEPATTERN=newValue" >> ${HOME}/temp.out
fi

if [ ${patternFound} = "n" ]; then
echo ${inpLine} >> ${HOME}/temp.out
fi

done < $Directory/Somefile
mv ${HOME}/temp.out $Directory/Somefile

URGENT HELP!!! GPSR Patch With Ns-2.34 Ubuntu 12.04

Hey guys
I have been trying to patch GPSR with ns-2.34.The operating system i am using is ubuntu 12.04.
I have made all the necessary changes required in the various files .

I have another version of ns (ns-2.35 ) too but it is in a different directory.
Everytime I run my tcl file an error keeps coming up.
I will be greatful if somebody can help me.This is very very URGENT.


(_o29 cmd line 1)
invoked from within
"_o29 cmd if-queue _o23"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o29" line 2)
(SplitObject unknown line 2)
invoked from within
"$agent if-queue [$self set ifq_(0)] "
(procedure "_o17" line 28)
(Node/MobileNode add-target line 28)
invoked from within
"$self add-target $agent $port"
(procedure "_o17" line 15)
(Node attach line 15)
invoked from within
"$node attach $ragent [Node set rtagent_port_]"
(procedure "create-gpsr-routing-agent" line 29)
invoked from within
"create-gpsr-routing-agent $node $id"
(procedure "gpsr-create-mobile-node" line 41)
invoked from within
"gpsr-create-mobile-node $i"
("for" body line 2)
invoked from within
"for {set i 0} {$i < $opt(nn) } {incr i} {
gpsr-create-mobile-node $i
}"

Error:: "wrong # Args: Should Be "set VarName ?newValue?" " While Running TCL Script

I m learning Tcl and write short code. After running code i got same error repeatedly and not able to find mistake,,,i wrote it as it is from a tutorial. here is the code below

set ns [new Simulator]

set f1 [open out.nam w] #open nam file out.nam
$ns namtrace-all $f1

proc finish{} {
global ns f1
$ns flush-trace
#close $tracefile1
close $f1
exec nam out.nam &
exit 0
}


set n1 [$ns node] # 3 nodes defined
set n2 [$ns node]
set n3 [$ns node]

set duplex-link $n1 $n2 10mb 10ms Droptail
set duplex-link $n2 $n3 10mb 10ms DropTail
set duplex-link $n3 $n1 10mb 10ms DropTail

set udp1 [new Agent/UDP] #UDP agent attached to node n1
$ns attach-agent $n1 $udp1

set cbr1 [new Application/traffic/CBR]
$cbr1 set packetSize_ 500
$cbr1 set interval_ 0.005
$ns attach-agent cbr1 udp1

set null1 [new Aggent/Null]
$ns attach-agent $n2 $null1


$ns connect $udp1 $null1

$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"


$ns at 12.0 "finish"

$ns run



ERROR:wrong # args: should be "set varName ?newValue?"
while executing
"set f1 [open out.nam w] #open nam file out.nam"
(file "11.tcl" line 19)

Ns2 Black Hole Attack Code Runing Problem

I installed ns2 using (sudo apt-get install ns2)
I hav code for black hole attack in aodv manet and while trying to run it on ns2 Im getting the fallowing error message
please tell me how to fix this..??

INITIALIZE THE LIST xListHead

(_o58 cmd line 1)
invoked from within
"_o58 cmd addr"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o58" line 2)
(SplitObject unknown line 2)
invoked from within
"_o58 addr"
("eval" body line 1)
invoked from within
"eval $node addr $args"
("default" arm line 2)
invoked from within
"switch -exact $routingAgent_ {
DSDV {
set ragent [$self create-dsdv-agent $node]
}
DSR {
$self at 0.0 "$node start-dsr"
}
AODV {
set ragent [$self cre..."
(procedure "_o3" line 14)
(Simulator create-wireless-node line 14)
invoked from within
"_o3 create-wireless-node"
("eval" body line 1)
invoked from within
"eval $self create-wireless-node $args"
(procedure "_o3" line 23)
(Simulator node line 23)
invoked from within
"$ns node"
invoked from within
"set node_(2) [$ns node]"
(file "atk3.tcl" line 55)

Understanding FIND

hi

hope this is the right place for noob questions

i'm struggling with this example:

Code:
$ find . -name temp -prune -o -print
from theunixschool.com

it means:
Find all the files except the ones under the temp directory.

shouldn't it be:
Code:
$ find . -path temp -prune -o -print

thx!

How To Patch GPSR Routing Protocol To Ns-2.35

Hi,
I have patched GPSR to ns-2.35 using keliu' code. It works fine with given tcl file. I need to move nodes according to mine own mobility scenario and compare them to AODV protocol.
I have two problems
1. I don't understand what this command in gpsr.tcl file means Code:
proc gpsr-create-mobile-node { id args } {
         .........................	
if [info exists opt(energy)] {
	$node addenergymodel [new $opt(energy) $node 10 0.5 0.2]}
         .............

What are these figures (0.5, 0.2), are these energy consumed in reception and transmission or some thing else.

Secondly I want move mobile node created using proc defined in gpsr.tcl file according to my own mobility plan e.g. Code:
 $ns_ at 0.000000000000 "$node_(0) setdest 144.816950690450 20.073824649527 0.324133202939"
$ns_ at 0.000000000000 "$node_(1) setdest 93.957720171475 192.140808646867 1.452613500562"
$ns_ at 12.158688172971 "$node_(23) setdest 113.137798368154 39.443538618334 0.902003496971"
$ns_ at 14.805074599534 "$node_(2) setdest 152.227654369397 20.766089279052 1.742469780423"

But when I run simulation it gives error like this:[QUOTE]Load complete...
Starting Simulation...
ns: _o18 setdest 144.816950690450 20.073824649527 0.324133202939:
(_o18 cmd line 1)
invoked from within
"_o18 cmd setdest 144.816950690450 20.073824649527 0.324133202939"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o18" line 2)
(SplitObject unknown line 2)
invoked from within
"_o18 setdest 144.816950690450 20.073824649527 0.324133202939"
[\QUOTE]
Urgent help is needed please

Problem In Running Codes Of TORA

Hi,
I am new in linux. I have following problem while running the codes of TORA in ns-2.35 in ubuntu.Can you please help me?


num_nodes is set 6
INITIALIZE THE LIST xListHead

(_o22 cmd line 1)
invoked from within
"_o22 cmd port-dmux _o37"
invoked from within
"catch "$self cmd $args" ret"
invoked from within
"if [catch "$self cmd $args" ret] {
set cls [$self info class]
global errorInfo
set savedInfo $errorInfo
error "error when calling class $cls: $args" $..."
(procedure "_o22" line 2)
(SplitObject unknown line 2)
invoked from within
"$agent port-dmux $dmux_"
(procedure "_o19" line 11)
(Node/MobileNode add-target-rtagent line 11)
invoked from within
"$self add-target-rtagent $agent $port"
(procedure "_o19" line 28)
(Node/MobileNode add-target line 28)
invoked from within
"$self add-target $agent $port"
(procedure "_o19" line 15)
(Node attach line 15)
invoked from within
"$node attach $ragent [Node set rtagent_port_]"
(procedure "_o3" line 85)
(Simulator create-wireless-node line 85)
invoked from within
"_o3 create-wireless-node"
("eval" body line 1)
invoked from within
"eval $self create-wireless-node $args"
(procedure "_o3" line 23)
(Simulator node line 23)
invoked from within
"$ns node"
invoked from within
"set n(0) [$ns node]"
(file "tora2.tcl" line 115)

Problem With Creating Malicious Node For OLSR In Ubuntu 14.10 With Ns 2.35

Experts,


I need your help to create malicious nodes for OLSR routing protocol. I completly patch OSLR in ns 2.35 in ubuntu 14.10 (32-bit) and its working but when I am try to create any malcious node by defining it "Malicious" or "hacker" it show me an error and not running that .tcl file.

for an example.

$ns_ at 0.0 "[$node_(8) set ragent_] hacker "
$ns_ at 0.0 "[$node_(14) set ragent_] hacker "
$ns_ at 0.0 "[$node_(20) set ragent_] hacker "
$ns_ at 0.0 "[$node_(26) set ragent_] hacker "



Help me to solve this problem.
I searched over internet but couldn't find any solution.

Help me to solve this.

Thank you.

Trailing Slash Or Not?

When I type in a path to a directory - whether it be in SSH or a config file or wherever - should I end it with a trailing slash or not?

For example...
Code:
/home/rob123/temp/

or

Code:
/home/rob123/temp


Rob

Problems With "error: Invalid Conversion From `const Char*' To `char*' "

Hi, I need some help. I tried to install obs-ns. Itīs based on ns2, but when I ran "make", the problem below appears... please I wish anybody would help me.


This is the error:

Code:
OBS/ns-2/integrated_agent.h: In constructor `BurstManager::BurstManager()':
OBS/ns-2/integrated_agent.h:86: warning: `BurstManager::bt_' will be initialized after
OBS/ns-2/integrated_agent.h:84: warning:   `int BurstManager::currburstsize_'
OBS/ns-2/integrated_agent.cc:66: warning:   when initialized here
OBS/ns-2/integrated_agent.cc: In member function `int BurstManager::nhops(nsaddr_t, nsaddr_t)':
OBS/ns-2/integrated_agent.cc:81: error: invalid conversion from `const char*' to `char*'   <------- this is the error 
OBS/ns-2/integrated_agent.cc: In member function `virtual void IPKTAgent::recv(Packet*, Handler*)':
OBS/ns-2/integrated_agent.cc:180: warning: unused variable 'ipkth'
/root/OBS/ns-allinone-2.31/tclcl-1.19/tclcl.h:150: error: `void Tcl::error(const char*)' is private
OBS/ns-2/integrated_agent.cc:185: error: within this context
OBS/ns-2/integrated_agent.cc:155: warning: unused variable 'hdr'
OBS/ns-2/integrated_agent.cc: In member function `void IPKTAgent::deBurst(Packet*)':
OBS/ns-2/integrated_agent.cc:192: warning: unused variable 'hdrip'
OBS/ns-2/integrated_agent.cc:194: warning: unused variable 'ch'
make: *** [OBS/ns-2/integrated_agent.o] Error 1


And this is the code of the program...


Code:
int BurstManager::nhops(nsaddr_t src,nsaddr_t des) {
  Tcl& tcl = Tcl::instance();
  sprintf(tcl.buffer(),"$ns nhops %d %d",src,des);
  tcl.eval();
  char *ni = tcl.result();   <------this is the line 81 
  return atoi(ni);
}