1

I am running a script where there is a bottleneck queue (Queue/LTEQueue/DLAirQueue, which has two object pointer to DropTail queue). Dropped packet is showing when using this queue (Checking by printf, let, drop packet=8000) file but is not included in trace file (.tr)(there is no 'd').

1. $ns simplex-link $eNB $UE($i) 10Mb 2ms DropTail 
2. $ns simplex-link $eNB $UE($i) 10Mb 2ms LTEQueue/DLAirQueue 

If 1 is used, then [drop_->recv(p);] works; packets are dropped as usual also showing in trace file. But, if 2 is used, then [Packet::free(p);] works; No drops as well as in trace file.

Can anyone help in this issue those who are using LTE model in NS 2.35?

/common/connector.cc

void Connector::drop(Packet* p)
{
if (drop_ != 0)
drop_->recv(p);
else
Packet::free(p);
}

1 Answers1

0

? Did you compile the new function into a new executable 'ns' ?

( No files.cc are used at "ns runtime" ).

Besides that, ns2 is a tcl/otcl application, and you will have to investigate if the new function also must be added to tcl/lib/{ [files].tcl } .... ( Changes in tcl/lib/* must also be compiled into the new 'ns'.)


Knud Larsen
  • 5,753
  • 2
  • 14
  • 19
  • @Kund : I create a new queue which is using droptail queue. I recompile and make a new executable ns.when run by droptail, it shows the 'd' but it shows no 'd' when run by my queue. Why?? I don't understand. – Munjure Mowla Nov 01 '15 at 04:38