问题描述
我想模拟一个基于 VANET 的 SDN,我使用 VEINS 成功地将 SUMO 与 OMNET 集成.然后我导入了INET,OpenFlow,当我向RSU添加门并与OpenFlow交换机连接时出现错误出现以下错误?我该如何解决这个问题,我应该修改什么才能使我的 VEINS 场景与 SDN 兼容?
Gate 'RSUExampleScenario.rsu[0].In' 未连接到子模块(或在内部连接到同一模块的另一个门)——在模块 (omnetpp::cModule) RSUExampleScenario.rsu[0] (id=7) 中,在网络设置期间由于 debug-on-errors=true 配置选项,捕获上述异常.你的调试器准备好了吗?模拟以退出代码终止:-2147483645工作目录:D:/omnetpp-5.1/samples/veins/examples/veins命令行:../../../../bin/opp_run.exe -m -n .;../../src/veins;../../../openflow;../../../inet/src;../../../inet/examples;../../../inet/tutorials;../../../inet/showcases --图像路径=../../images;../../../openflow/images;../../../inet/images -l ../../src/veins -l../../../inet/src/INET omnetpp.ini环境变量:PATH=;D:/omnetpp-5.1/samples/veins/src;D:/omnetpp-5.1/samples/inet/src;D:\omnetpp-5.1\bin;D:\omnetpp-5.1\tools\win64\usr\bin;D:\omnetpp-5.1\tools\win64\mingw64\bin;D:/omnetpp-5.1/ide/jre/bin/server;D:/omnetpp-5.1/ide/jre/bin;D:/omnetpp-5.1/ide/jre/lib/amd64;.;D:\omnetpp-5.1\bin;D:\omnetpp-5.1\tools\win64\mingw64\bin;D:\omnetpp-5.1\tools\win64\usr\本地\bin;D:\omnetpp-5.1\tools\win64\usr\bin;D:\omnetpp-5.1\tools\win64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\omnetpp-5.1\tools\win64\usr\bin\site_perl;D:\omnetpp-5.1\tools\win64\usr\bin\vendor_perl;D:\omnetpp-5.1\tools\win64\usr\bin\core_perl;D:\omnetpp-5.1;OMNETPP_ROOT=D:/omnetpp-5.1/OMNETPP_IMAGE_PATH=D:\omnetpp-5.1\images
这里是 RSU.ned 的代码,我只是添加了输入和输出门.
包 org.car2x.veins.nodes;导入 org.car2x.veins.base.modules.*;导入 org.car2x.veins.modules.nic.Nic80211p;导入 inet.node.inet.AdhocHost;导入 inet.node.xmipv6.MobileHost6;导入 openflow.Flow_Table;导入 openflow.nodes.Open_Flow_Controller;导入 openflow.nodes.Open_Flow_Switch;模块 RSU{参数:字符串应用类型;//应用层类型string nicType = default("Nic80211p");//网卡类型大门:输入静脉电台;//sendDirect 的门输入输出输出;子模块:应用程序:像 org.car2x.veins.base.modules.IBaseApplLayer {参数:@display("p=60,50");}nic:<nicType>像 org.car2x.veins.modules.nic.INic80211p {参数:@display("p=60,166");}移动性:BaseMobility {参数:@display("p=130,172;i=block/cogwheel");}连接:nic.upperLayerOut -->appl.lowerLayerIn;nic.upperLayerIn <-- appl.lowerLayerOut;nic.upperControlOut -->appl.lowerControlIn;nic.upperControlIn <-- appl.lowerControlOut;静脉电台输入 -->nic.radioIn;}这里是 OpenFlow_switch.ned,我也只添加了输入和输出门.
包 openflow.nodes;导入 inet.applications.pingapp.PingApp;导入 inet.applications.contract.ITCPApp;//导入inet.base.NotificationBoard;导入 inet.linklayer.ethernet.EtherMAC;//导入inet.linklayer.ext.ExtInterface;导入 inet.linklayer.ppp.PPP 接口;导入 inet.networklayer.common.InterfaceTable;//导入inet.networklayer.ipv4.RoutingTable;//导入inet.transport.ITCP;//导入inet.transport.udp.UDP;//导入inet.util.TCPDump;//导入inet.nodes.inet.NetworkLayer;导入 inet.transportlayer.contract.ITCP;导入 inet.linklayer.ppp.PPP 接口;导入 inet.linklayer.ethernet.EthernetInterface;导入 inet.linklayer.loopback.LoopbackInterface;导入 inet.networklayer.ipv4.*;导入 openflow.*;//基于OF Switch Specification 1.2的OpenFlow交换机.//新实现的模块:FlowTable、Open_Flow_Processing、Buffer、OFA_Switch(应用程序)//OpenFlow交换机基本上分为两部分.左边的路径,//由一个EtherMAC和一个OpenFlowProcessing模块组成,代表数据平面.//所有生产跟踪,来自连接的不同节点//到开关,在这里处理.处理模块在//流表并执行指令,如果找到匹配的条目.//右侧部分包含模块 EthernetInterface、NetworkLayer、TCP 和//OFASwitch 负责通过遥控器与遥控器通讯//OpenFlow协议,称为控制平面.模块 Open_Flow_Switch{参数://@node();@网络节点;//Inet 3.6 将@node 改为@networkNode@OF_Switch();@标签(节点,以太网节点);@display("i=device/switch;i2=OpenFlow-Logo-small");int numTcpApps = 默认(0);int numUdpApps = 默认(0);int numSctpApps = 默认(0);string tcpAppType = default("n/a");string udpAppType = default("n/a");string sctpAppType = default("n/a");string tcpType = default("TCP");//tcp 实现(例如 TCP、TCP_old、TCP_NSC)bool forwarding = default(false);int namid = 默认(-1);string routingFile = default("");int numExtInterfaces = 默认(0);bool sendCompletePacket = default(false);double serviceTime @unit("s") = default(0s);//DANH 补充说:bool hasTcp = default(numTcpApps > 0);bool hasUdp = default(numUdpApps > 0);bool hasSctp = default(numSctpApps > 0);*.interfaceTableModule = default(absPath(".interfaceTable"));*.routingTableModule = default(absPath(".routingTable"));大门:inout gate_controller[] @labels(Controller-conn);inout ethg[] @labels(EtherFrame-conn);输入输出输出;子模块://通知板:通知板{// 参数://@display("p=57,54");//}接口表:接口表{参数:@display("p=57,134");}路由表:IPv4RoutingTable {参数:转发=转发;routerId = "";路由文件 = 路由文件;@display("p=57,214");}tcp:<tcpType>像 ITCP {参数:@display("p=336,159");}网络层:IPv4网络层{参数:代理ARP =假;@display("p=336,262;q=queue");大门:ifIn[sizeof(gate_controller)];ifOut[sizeof(gate_controller)];}eth[sizeof(gate_controller)]:以太网接口{参数:@display("p=336,390,row,90;q=txQueue");}流表:流表{@display("p=192,134");}etherMAC[sizeof(ethg)]: EtherMAC {参数:@display("p=137,390");doRegisterAtIft = false;//这是为了防止OF-Switch注册到接口表}open_Flow_Processing: Open_Flow_Processing {@display("p=137,282");服务时间 = 服务时间;大门:ifIn[sizeof(ethg)];ifOut[sizeof(ethg)];}缓冲区:缓冲区{@display("p=192,53");}ofa_switch: OFA_switch {@display("p=336,71");sendCompletePacket = sendCompletePacket;}连接允许未连接:tcp.ipOut -->networkLayer.transportIn++ if hasTcp;tcp.ipIn 网络层.ifIn[i];eth[i].upperLayerIn <-- networkLayer.ifOut[i];}对于 i=0..sizeof(ethg)-1 {etherMAC[i].phys<-->ethg[i];open_Flow_Processing.ifOut[i] -->etherMAC[i].upperLayerIn;etherMAC[i].upperLayerOut -->open_Flow_Processing.ifIn[i];}tcp.appOut++ -->ofa_switch.tcpIn;ofa_switch.tcpOut -->tcp.appIn++;}这里是 RSUExampleScenario.ned
导入 inet.node.ethernet.EtherHost;导入 inet.node.inet.AdhocHost;导入 inet.node.xmipv6.MobileHost6;导入 openflow.nodes.Domain_wController;导入 openflow.nodes.OpenFlow_Domain_fixed;导入 openflow.nodes.Open_Flow_Controller;导入 openflow.nodes.Open_Flow_Switch;导入 org.car2x.veins.nodes.RSU;导入 org.car2x.veins.nodes.Scenario;网络 RSUExampleScenario 扩展场景{@display("bgb=634,315;bgl=2");子模块:rsu[1]: rsu {@display("p=161,117;i=veins/sign/yellowdiamond;is=vs");}open_Flow_Switch: Open_Flow_Switch {@display("p=257,235;b=66,64");}open_Flow_Controller: Open_Flow_Controller {@display("p=427,221;b=85,66");}连接:open_Flow_Switch.ethg++ <-->open_Flow_Controller.ethg++;open_Flow_Controller.ethg++ <-->open_Flow_Switch.ethg++;rsu[0].Out -->open_Flow_Switch.In;open_Flow_Switch.Out -->rsu[0].in;}最后是 omnetpp.ini
[通用]cmdenv-express-mode = truecmdenv-autoflush = truecmdenv-状态-频率 = 1s**.cmdenv-log-level = 信息内路径 = .图像路径 = ../../images网络 = RSUExampleScenario#########################################################模拟参数#########################################################错误时调试 = 真打印未处理 = 真模拟时间限制 = 3000 秒**.scalar-recording = true**.vector-recording = true**.debug = 假**.coreDebug = 假*.playgroundSizeX = 5500m*.playgroundSizeY = 5500m*.playgroundSizeZ = 5500m#########################################################注解参数#########################################################*.annotations.draw = 真#########################################################障碍物参数#########################################################*.obstacles.debug = false*.obstacles.obstacles = xmldoc("config.xml", "//AnalogueModel[@type='SimpleObstacleShadowing']/obstacles")######################################################### TraCIScenarioManager 参数 #########################################################*.manager.updateInterval = 1s*.manager.host = "本地主机"*.manager.port = 9999*.manager.autoShutdown = true*.manager.launchConfig = xmldoc("DammamMap.launchd.xml")######################################################### RSU 设置#############################################################*.rsu[0].mobility.x = 2000*.rsu[0].mobility.y = 2000*.rsu[0].mobility.z = 3*.rsu[*].applType = "TraCIDemoRSU11p"*.rsu[*].appl.headerLength = 80 位*.rsu[*].appl.sendBeacons = false*.rsu[*].appl.dataOnSch = false*.rsu[*].appl.beaconInterval = 1s*.rsu[*].appl.beaconUserPriority = 7*.rsu[*].appl.dataUserPriority = 5######################################################### 11p 具体参数#### 网卡设置 #########################################################*.connectionManager.sendDirect = true*.connectionManager.maxInterfDist = 2600m*.connectionManager.drawMaxIntfDist = false*.**.nic.mac1609_4.useServiceChannel = false*.**.nic.mac1609_4.txPower = 20mW*.**.nic.mac1609_4.bitrate = 6Mbps*.**.nic.phy80211p.灵敏度 = -89dBm*.**.nic.phy80211p.useThermalNoise = true*.**.nic.phy80211p.thermalNoise = -110dBm*.**.nic.phy80211p.decider = xmldoc("config.xml")*.**.nic.phy80211p.analogModels = xmldoc("config.xml")*.**.nic.phy80211p.usePropagationDelay = true*.**.nic.phy80211p.antenna = xmldoc("antenna.xml", "/root/Antenna[@id='monopole']")######################################################### WaveAppLayer #########################################################*.node[*].applType = "TraCIDemo11p"*.node[*].appl.headerLength = 80 位*.node[*].appl.sendBeacons = false*.node[*].appl.dataOnSch = false*.node[*].appl.beaconInterval = 1s#########################################################流动性#########################################################*.node[*].veinsmobilityType.debug = true*.node[*].veinsmobility.x = 0*.node[*].veinsmobility.y = 0*.node[*].veinsmobility.z = 1.895*.node[*0].veinsmobility.accidentCount = 1*.node[*0].veinsmobility.accidentStart = 75s*.node[*0].veinsmobility.accidentDuration = 50s【配置默认】[使用信标配置]*.rsu[*].appl.sendBeacons = true*.node[*].appl.sendBeacons = true[使用通道切换配置]*.**.nic.mac1609_4.useServiceChannel = true*.node[*].appl.dataOnSch = true*.rsu[*].appl.dataOnSch = true
任何帮助将不胜感激
我通过向 RSU.ned 和 RSUExampleScenario.ned 中的连接添加 allowunconnected 解决了这个错误
我希望这能帮助其他面临同样问题的人.
I want to simulate a VANET based SDN, I successfully integrated SUMO with OMNET using VEINS. Then I imported INET, OpenFlow, an error appear when I add gates to the RSU and connected with OpenFlow switch the below error is appear? How can I fix that and what should I modify to make my VEINS scenario work with SDN?
<!> Gate 'RSUExampleScenario.rsu[0].In' is not connected to a submodule (or internally to another gate of the same module) -- in module (omnetpp::cModule) RSUExampleScenario.rsu[0] (id=7), during network setup
TRAPPING on the exception above, due to a debug-on-errors=true configuration option. Is your debugger ready?
Simulation terminated with exit code: -2147483645
Working directory: D:/omnetpp-5.1/samples/veins/examples/veins
Command line: ../../../../bin/opp_run.exe -m -n .;../../src/veins;../../../openflow;../../../inet/src;../../../inet/examples;../../../inet/tutorials;../../../inet/showcases --image-path=../../images;../../../openflow/images;../../../inet/images -l ../../src/veins -l ../../../inet/src/INET omnetpp.ini
Environment variables:
PATH=;D:/omnetpp-5.1/samples/veins/src;D:/omnetpp-5.1/samples/inet/src;D:\omnetpp-5.1\bin;D:\omnetpp-5.1\tools\win64\usr\bin;D:\omnetpp-5.1\tools\win64\mingw64\bin;D:/omnetpp-5.1/ide/jre/bin/server;D:/omnetpp-5.1/ide/jre/bin;D:/omnetpp-5.1/ide/jre/lib/amd64;.;D:\omnetpp-5.1\bin;D:\omnetpp-5.1\tools\win64\mingw64\bin;D:\omnetpp-5.1\tools\win64\usr\local\bin;D:\omnetpp-5.1\tools\win64\usr\bin;D:\omnetpp-5.1\tools\win64\usr\bin;C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;D:\omnetpp-5.1\tools\win64\usr\bin\site_perl;D:\omnetpp-5.1\tools\win64\usr\bin\vendor_perl;D:\omnetpp-5.1\tools\win64\usr\bin\core_perl;D:\omnetpp-5.1;
OMNETPP_ROOT=D:/omnetpp-5.1/
OMNETPP_IMAGE_PATH=D:\omnetpp-5.1\images
here the code for RSU.ned and I just add the In and Out gates.
package org.car2x.veins.nodes;
import org.car2x.veins.base.modules.*;
import org.car2x.veins.modules.nic.Nic80211p;
import inet.node.inet.AdhocHost;
import inet.node.xmipv6.MobileHost6;
import openflow.Flow_Table;
import openflow.nodes.Open_Flow_Controller;
import openflow.nodes.Open_Flow_Switch;
module RSU
{
parameters:
string applType; //type of the application layer
string nicType = default("Nic80211p"); // type of network interface card
gates:
input veinsradioIn; // gate for sendDirect
input In;
output Out;
submodules:
appl: <applType> like org.car2x.veins.base.modules.IBaseApplLayer {
parameters:
@display("p=60,50");
}
nic: <nicType> like org.car2x.veins.modules.nic.INic80211p {
parameters:
@display("p=60,166");
}
mobility: BaseMobility {
parameters:
@display("p=130,172;i=block/cogwheel");
}
connections:
nic.upperLayerOut --> appl.lowerLayerIn;
nic.upperLayerIn <-- appl.lowerLayerOut;
nic.upperControlOut --> appl.lowerControlIn;
nic.upperControlIn <-- appl.lowerControlOut;
veinsradioIn --> nic.radioIn;
}
and here the OpenFlow_switch.ned, Also I just add the In and Out gates.
package openflow.nodes;
import inet.applications.pingapp.PingApp;
import inet.applications.contract.ITCPApp;
//import inet.base.NotificationBoard;
import inet.linklayer.ethernet.EtherMAC;
//import inet.linklayer.ext.ExtInterface;
import inet.linklayer.ppp.PPPInterface;
import inet.networklayer.common.InterfaceTable;
//import inet.networklayer.ipv4.RoutingTable;
//import inet.transport.ITCP;
//import inet.transport.udp.UDP;
//import inet.util.TCPDump;
//import inet.nodes.inet.NetworkLayer;
import inet.transportlayer.contract.ITCP;
import inet.linklayer.ppp.PPPInterface;
import inet.linklayer.ethernet.EthernetInterface;
import inet.linklayer.loopback.LoopbackInterface;
import inet.networklayer.ipv4.*;
import openflow.*;
// OpenFlow switch based on the OF Switch Specification 1.2.
// New implemented modules: FlowTable, Open_Flow_Processing, Buffer, OFA_Switch (Application)
// The OpenFlow switch is basically divided in two parts. The left path, which
//consists of a EtherMAC and a OpenFlowProcessing module, represents the data plane.
//All production trac, coming from different nodes connected
//to the switch, is handled here. The Processing module performs packet lookups in the
//ow table and executes instructions, if a matching entry is found.
//The right part with the modules EthernetInterface, NetworkLayer, TCP and
//OFASwitch is responsible for the communication with a remote controller via the
//OpenFlow protocol and is called control plane.
module Open_Flow_Switch
{
parameters:
// @node();
@networkNode; //Inet 3.6 changed @node to @networkNode
@OF_Switch();
@labels(node,ethernet-node);
@display("i=device/switch;i2=OpenFlow-Logo-small");
int numTcpApps = default(0);
int numUdpApps = default(0);
int numSctpApps = default(0);
string tcpAppType = default("n/a");
string udpAppType = default("n/a");
string sctpAppType = default("n/a");
string tcpType = default("TCP"); // tcp implementation (e.g. TCP, TCP_old, TCP_NSC)
bool forwarding = default(false);
int namid = default(-1);
string routingFile = default("");
int numExtInterfaces = default(0);
bool sendCompletePacket = default(false);
double serviceTime @unit("s") = default(0s);
//DANH added:
bool hasTcp = default(numTcpApps > 0);
bool hasUdp = default(numUdpApps > 0);
bool hasSctp = default(numSctpApps > 0);
*.interfaceTableModule = default(absPath(".interfaceTable"));
*.routingTableModule = default(absPath(".routingTable"));
gates:
inout gate_controller[] @labels(Controller-conn);
inout ethg[] @labels(EtherFrame-conn);
input In;
output Out;
submodules:
// notificationBoard: NotificationBoard {
// parameters:
// @display("p=57,54");
// }
interfaceTable: InterfaceTable {
parameters:
@display("p=57,134");
}
routingTable: IPv4RoutingTable {
parameters:
forwarding = forwarding;
routerId = "";
routingFile = routingFile;
@display("p=57,214");
}
tcp: <tcpType> like ITCP {
parameters:
@display("p=336,159");
}
networkLayer: IPv4NetworkLayer {
parameters:
proxyARP = false;
@display("p=336,262;q=queue");
gates:
ifIn[sizeof(gate_controller)];
ifOut[sizeof(gate_controller)];
}
eth[sizeof(gate_controller)]: EthernetInterface {
parameters:
@display("p=336,390,row,90;q=txQueue");
}
flow_Table: Flow_Table {
@display("p=192,134");
}
etherMAC[sizeof(ethg)]: EtherMAC {
parameters:
@display("p=137,390");
doRegisterAtIft = false; // this is to prevent OF-Switch from registering to interface table
}
open_Flow_Processing: Open_Flow_Processing {
@display("p=137,282");
serviceTime = serviceTime;
gates:
ifIn[sizeof(ethg)];
ifOut[sizeof(ethg)];
}
buffer: Buffer {
@display("p=192,53");
}
ofa_switch: OFA_switch {
@display("p=336,71");
sendCompletePacket = sendCompletePacket;
}
connections allowunconnected:
tcp.ipOut --> networkLayer.transportIn++ if hasTcp;
tcp.ipIn <-- networkLayer.transportOut++ if hasTcp;
for i=0..sizeof(gate_controller)-1 {
eth[i].phys <--> gate_controller[i];
eth[i].upperLayerOut --> networkLayer.ifIn[i];
eth[i].upperLayerIn <-- networkLayer.ifOut[i];
}
for i=0..sizeof(ethg)-1 {
etherMAC[i].phys <--> ethg[i];
open_Flow_Processing.ifOut[i] --> etherMAC[i].upperLayerIn;
etherMAC[i].upperLayerOut --> open_Flow_Processing.ifIn[i];
}
tcp.appOut++ --> ofa_switch.tcpIn;
ofa_switch.tcpOut --> tcp.appIn++;
}
here the RSUExampleScenario.ned
import inet.node.ethernet.EtherHost;
import inet.node.inet.AdhocHost;
import inet.node.xmipv6.MobileHost6;
import openflow.nodes.Domain_wController;
import openflow.nodes.OpenFlow_Domain_fixed;
import openflow.nodes.Open_Flow_Controller;
import openflow.nodes.Open_Flow_Switch;
import org.car2x.veins.nodes.RSU;
import org.car2x.veins.nodes.Scenario;
network RSUExampleScenario extends Scenario
{
@display("bgb=634,315;bgl=2");
submodules:
rsu[1]: RSU {
@display("p=161,117;i=veins/sign/yellowdiamond;is=vs");
}
open_Flow_Switch: Open_Flow_Switch {
@display("p=257,235;b=66,64");
}
open_Flow_Controller: Open_Flow_Controller {
@display("p=427,221;b=85,66");
}
connections:
open_Flow_Switch.ethg++ <--> open_Flow_Controller.ethg++;
open_Flow_Controller.ethg++ <--> open_Flow_Switch.ethg++;
rsu[0].Out --> open_Flow_Switch.In;
open_Flow_Switch.Out --> rsu[0].In;
}
and finally the omnetpp.ini
[General]
cmdenv-express-mode = true
cmdenv-autoflush = true
cmdenv-status-frequency = 1s
**.cmdenv-log-level = info
ned-path = .
image-path = ../../images
network = RSUExampleScenario
##########################################################
# Simulation parameters #
##########################################################
debug-on-errors = true
print-undisposed = true
sim-time-limit = 3000s
**.scalar-recording = true
**.vector-recording = true
**.debug = false
**.coreDebug = false
*.playgroundSizeX = 5500m
*.playgroundSizeY = 5500m
*.playgroundSizeZ = 5500m
##########################################################
# Annotation parameters #
##########################################################
*.annotations.draw = true
##########################################################
# Obstacle parameters #
##########################################################
*.obstacles.debug = false
*.obstacles.obstacles = xmldoc("config.xml", "//AnalogueModel[@type='SimpleObstacleShadowing']/obstacles")
##########################################################
# TraCIScenarioManager parameters #
##########################################################
*.manager.updateInterval = 1s
*.manager.host = "localhost"
*.manager.port = 9999
*.manager.autoShutdown = true
*.manager.launchConfig = xmldoc("DammamMap.launchd.xml")
##########################################################
# RSU SETTINGS #
# #
# #
##########################################################
*.rsu[0].mobility.x = 2000
*.rsu[0].mobility.y = 2000
*.rsu[0].mobility.z = 3
*.rsu[*].applType = "TraCIDemoRSU11p"
*.rsu[*].appl.headerLength = 80 bit
*.rsu[*].appl.sendBeacons = false
*.rsu[*].appl.dataOnSch = false
*.rsu[*].appl.beaconInterval = 1s
*.rsu[*].appl.beaconUserPriority = 7
*.rsu[*].appl.dataUserPriority = 5
##########################################################
# 11p specific parameters #
# #
# NIC-Settings #
##########################################################
*.connectionManager.sendDirect = true
*.connectionManager.maxInterfDist = 2600m
*.connectionManager.drawMaxIntfDist = false
*.**.nic.mac1609_4.useServiceChannel = false
*.**.nic.mac1609_4.txPower = 20mW
*.**.nic.mac1609_4.bitrate = 6Mbps
*.**.nic.phy80211p.sensitivity = -89dBm
*.**.nic.phy80211p.useThermalNoise = true
*.**.nic.phy80211p.thermalNoise = -110dBm
*.**.nic.phy80211p.decider = xmldoc("config.xml")
*.**.nic.phy80211p.analogueModels = xmldoc("config.xml")
*.**.nic.phy80211p.usePropagationDelay = true
*.**.nic.phy80211p.antenna = xmldoc("antenna.xml", "/root/Antenna[@id='monopole']")
##########################################################
# WaveAppLayer #
##########################################################
*.node[*].applType = "TraCIDemo11p"
*.node[*].appl.headerLength = 80 bit
*.node[*].appl.sendBeacons = false
*.node[*].appl.dataOnSch = false
*.node[*].appl.beaconInterval = 1s
##########################################################
# Mobility #
##########################################################
*.node[*].veinsmobilityType.debug = true
*.node[*].veinsmobility.x = 0
*.node[*].veinsmobility.y = 0
*.node[*].veinsmobility.z = 1.895
*.node[*0].veinsmobility.accidentCount = 1
*.node[*0].veinsmobility.accidentStart = 75s
*.node[*0].veinsmobility.accidentDuration = 50s
[Config Default]
[Config WithBeaconing]
*.rsu[*].appl.sendBeacons = true
*.node[*].appl.sendBeacons = true
[Config WithChannelSwitching]
*.**.nic.mac1609_4.useServiceChannel = true
*.node[*].appl.dataOnSch = true
*.rsu[*].appl.dataOnSch = true
Any help will be greatly appreciated
I solved the error by adding allowunconnected to the connections in RSU.ned and RSUExampleScenario.ned
I hope this help other people facing the same problem.
这篇关于在 OMNeT++ 中将 RSU 连接到 OpenFlow 交换机时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!