Я создаю беспроводной узел, и в настоящее время он выглядит следующим образом
module Node extends NodeBase
{
parameters:
mobility.typename = default("StationaryMobility");
Physical.antenna.mobilityModule = default("^.^.mobility");
@display("bgl=8;bgb=230.31801,357.28");
*.interfaceTableModule = default(absPath(".interfaceTable"));
gates:
input radioIn @directIn;
submodules:
//Don't know what this does but need interfaceTableModule to be defined
interfaceTable: InterfaceTable {
parameters:
@display("p=125,240;is=s");
}
Physical: Ieee802154UwbIrRadio{
@display("p=41,74");
}
Link: <default("Ieee802154Mac")> like IMacProtocol {
@display("p=41,169");
}
Net: BroadcastRouting {
@display("p=41,248");
}
connections allowunconnected:
radioIn --> Physical.radioIn;
Physical.upperLayerOut --> Link.lowerLayerIn;
Physical.upperLayerIn <-- Link.lowerLayerOut;
Link.upperLayerOut --> Net.fromMac;
Link.upperLayerIn <-- Net.toMac;
}
Ошибка времени выполнения возникает при попытке симулятора загрузить LinkLayer.
Ошибка времени выполнения: getContainingNicModule(): nic module not found (it should have a property named nic) for module 'network.componenet1.Link' ... during network initialisation
Я полагаю, что функция getContainingNicModule
пытается найти модуль сетевой карты, который является родителем канального уровня.Я искал свойство nic
и не могу ничего найти.Это может быть связано со свойством interface
, но у inet.LinkLayerNodeBase
, который я отражаю, такого свойства нет.
Почему выдается эта ошибка?