динамический модуль: конфигуратор Ipv4 не назначает адрес динамическому модулю omnet ++ - PullRequest
0 голосов
/ 05 июня 2019

Я создал динамический модуль, используя этот код ниже. Модуль успешно создан, но модуль ipv4configurator не назначил IP-адрес созданному динамическому модулю. Поэтому, когда я запускаю симуляцию, я получаю эту ошибку:

"ASSERT: Условие"! MyIPAddress.isUnspecified () "не содержится в функции 'sendArpRequest' в inet / networklayer / arp / ipv4 / Arp.cc: 173 - в модуле (inet :: Arp) Drones.clone .ipv4.arp (id = 323), при t = 1.057126851753s, событие # 272 "

moduleType = cModuleType::get("inet.node.inet.WirelessHost");
module = moduleType->create("clone", this);
module->finalizeParameters();
module->buildInside();
module->scheduleStart(simTime() + updateInterval);
cPreModuleInitNotification pre;
pre.module = module;
emit(POST_MODEL_CHANGE, &pre);
module->callInitialize();
cPostModuleInitNotification post;
post.module = module;
emit(POST_MODEL_CHANGE, &post);

1 Ответ

0 голосов
/ 06 июня 2019

Да, это ограничение Ipv4Configurator. Необходимо заранее знать топологию сети, чтобы иметь возможность назначать IP-адреса, оптимизировать маски подсетей и настраивать записи в таблице маршрутизации.

Глобальный IpV4NetworkConfigurator сначала создает базу данных, а затем каждый узел просматривает эту базу данных во время установки, извлекает информацию, связанную с ним, и устанавливает интерфейсы и таблицы маршрутизации и т. Д.

...