动态模块:ipv4配置器未为动态模块omnet ++分配地址

时间:2019-06-05 10:35:31

标签: omnet++ inet

我使用下面的代码创建了一个动态模块。该模块已成功创建,但是ipv4configurator模块未将IP地址分配给创建的动态模块。因此,当我运行模拟时,会出现以下错误:

“ ASSERT:条件'!myIPAddress.isUnspecified()'不保存在inet / networklayer / arp / ipv4 / Arp.cc:173中的'sendArpRequest'函数中-在模块(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 :(得分:0)

是的,这是Ipv4Configurator的限制。它需要事先了解网络拓扑,以便能够分配IP地址,优化子网掩码和设置路由表条目。

全局IpV4NetworkConfigurator首先建立一个数据库,然后每个节点在设置过程中查看该数据库,并提取与其自身有关的信息,并设置接口和路由表等。