因为我的aodv网络中有一个extrouter,它包含一个ExtLowerEthernetInterface,所以我需要在ini文件中设置scheduler-class="inet::RealTimeScheduler"。但是,在这之后,aodv节点不会传输接收到的RREQ报文向上。因此,整个aodv网络都被破坏了。“有什么办法吗?我现在很困惑。非常感谢您的帮助
scheduler-class = "inet::RealTimeScheduler"
*.extRouter.numEthInterfaces = 1
*.extRouter.eth[0].typename = "ExtLowerEthernetInterface"
*.extRouter.eth[0].device = "veth0"
包 inet.examples.aodv.Drone;
import inet.common.scenario.ScenarioManager;
import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator;
import inet.networklayer.ipv4.RoutingTableRecorder;
import inet.node.aodv.AodvRouter;
import inet.physicallayer.wireless.unitdisk.UnitDiskRadioMedium;
import inet.visualizer.common.IntegratedVisualizer;
import inet.node.inet.Router;
import ned.DatarateChannel;
network Drone
{
parameters:
int numHosts;
@display("bgb=944.376,745.56");
types:
channel pppline extends DatarateChannel
{
datarate = 100 Gbps;
}
submodules:
radioMedium: UnitDiskRadioMedium {
parameters:
@display("p=100,200;is=s");
}
configurator: Ipv4NetworkConfigurator {
parameters:
config = xml("<config><interface hosts='*' address='145.236.x.x' netmask='255.255.x.x'/></config>");
@display("p=100,100;is=s");
}
routingTableRecorder: RoutingTableRecorder {
parameters:
@display("p=100,300;is=s");
}
visualizer: IntegratedVisualizer {
parameters:
@display("p=100,30");
}
scenarioManager: ScenarioManager {
parameters:
script = default(xml("<scenario/>"));
@display("p=100,400;is=s");
}
host[numHosts]: AodvRouter {
parameters:
@display("i=device/pocketpc_s;r=,,#707070");
gates:
pppg[1];
}
extRouter: Router {
parameters:
ipv4.routingTable.routingFile = "extRouter.mrt";
@display("i=device/router_l;p=98.868,509.31998;is=s");
gates:
pppg[21];
}
connections allowunconnected:
for i=0..numHosts-1 {
host[i].pppg[0] <--> pppline { @display("ls=,0"); } <--> extRouter.pppg[i];
}
}