Dear Users

Here is the awk code for calculating end to end delay and packet delivery ratio 
while generating traffic from wired node and receiving packets on mobile nodes.
Hopefully it will be helpful.

Best Regards

Shahid H Abbassi


BEGIN {

seqno = -1;

droppedPackets = 0;

receivedPackets = 0;

generatedpackets = 0;

count = 0;

}

{

#packet delivery ratio

if($5 == "cbr" && $1 == "+" && seqno < $12) {

seqno = $12;
generatedpackets++;
start_time[$12] = $2;
#print "start_time ="start_time[$12]"\n" $12;

} else if(($7 == "cbr") && ($1 == "r")) {

receivedPackets++;
end_time[$6] = $2;
#print "end_time ="end_time[$6]"\n" $6;

} else if ($1 == "D" && $7 == "cbr" && $8 > 200){

droppedPackets++;
end_time[$6] = -1;
#print "end_time ="end_time[$6]"\n" $6;

}



}



END {


#print "seqno=" seqno;

for(i=0; i<=seqno; i++) {

if(end_time[i] > 0) {

delay[i] = end_time[i] - start_time[i];

n_to_n_delay = n_to_n_delay + delay[i];

#print "delay=" delay[i];

#print "n_to_n_delay=" n_to_n_delay;

count++;

}

else
{

delay[i] = 0;

}

}


n_to_n_delay = n_to_n_delay/count;



print "\n";

print "GeneratedPackets = " generatedpackets;

print "ReceivedPackets = " receivedPackets;

print "Packet Delivery Ratio = " receivedPackets/generatedpackets*100 "%";

print "Total Dropped Packets = " droppedPackets;

print "Average End-to-End Delay = " n_to_n_delay * 1000 " ms";

print "\n";

}
                                                                                
  

Reply via email to