Отбрасываемый пакет отображается в файле.cc, но не включен в файл трассировки NS-2

Я выполняю сценарий, в котором есть очередь узкого места (Queue / LTEQueue / DLAirQueue, в которой есть два объекта указателя на очередь DropTail). Отброшенный пакет отображается при использовании этого файла очереди (Проверка с помощью printf, let, drop packet = 8000), но не включается в файл трассировки (.tr)(нет 'd').

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

Если используется 1, то [drop_->recv(p);] работает; пакеты отбрасываются как обычно и также отображаются в файле трассировки. Но, если используется 2, то [Packet::free(p);] работает; Нет капель так же, как в файле трассировки.

Может ли кто-нибудь помочь в этом вопросе тем, кто использует модель LTE в NS 2.35?

/common/connector.cc

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

1 ответ


? Вы скомпилировали новую функцию в новый исполняемый файл 'ns'?

(Никакие файлы.cc не используются во время выполнения ns).

Кроме того, ns2 является приложением tcl / otcl, и вам придется выяснить, нужно ли добавлять новую функцию в tcl/lib/{ [files].tcl } .... (изменения в tcl/lib/* должны также скомпилировать в новые 'ns'.)


ns2

Другие вопросы по тегам