OMNeT++中使用TsnDevice作中继出现未知协议错误求助
OMNeT++中TsnDevice作为中继触发未知协议错误求助
我在OMNeT++中搭建了两个UDP数据包转发网络:
- 第一个采用StandardHost作为中继,运行正常;
- 第二个使用TsnDevice(tsnDevice2设置
forwarding=true)作为中继,触发未知协议错误,报错信息如下:
<!> handlePacket(): Unknown protocol: protocolId = 24, protocolName = ethernetmac, servicePrimitive = INDICATION, pathStartGate = combNetwork.tsnDevice2.ipv4.ip.queueOut, pathEndGate = combNetwork.tsnDevice2.ipv4.lp.in[1] -- in module (inet::MessageDispatcher) combNetwork.tsnDevice2.ipv4.lp (id=258), at t=0.00101837s, event #16
NED文件内容
import inet.node.ethernet.EthernetLink; import inet.node.ethernet.Eth100M; import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator; import inet.node.inet.StandardHost; network UdpExample { @display("bgb=655,369"); submodules: configurator: Ipv4NetworkConfigurator { parameters: @display("p=100,100;is=s"); } client: StandardHost { parameters: @display("p=250,100"); } server: StandardHost { parameters: @display("p=544,100;i=device/pc2"); } relay: StandardHost { @display("p=402,100"); forwarding = default(true); } connections: client.ethg++ <--> EthernetLink { datarate = 100Mbps; } <--> relay.ethg++; relay.ethg++ <--> EthernetLink { datarate = 100Mbps; } <--> server.ethg++; } import inet.common.scenario.ScenarioManager; import inet.node.tsn.TsnDevice; import inet.networks.base.TsnNetworkBase; import inet.node.ethernet.Eth100M; network UdpExample1 extends TsnNetworkBase { parameters: @display("bgb=2230.5361,1700.952"); submodules: tsnDevice1: TsnDevice { @display("p=991.728,620.256"); } tsnDevice2: TsnDevice { @display("p=1359.792,620.256"); forwarding = default(true); } tsnDevice3: TsnDevice { @display("p=1751.712,620.256"); } scenarioManager: ScenarioManager { @display("p=98.736,839.25604"); } connections: tsnDevice1.ethg++ <--> Eth100M <--> tsnDevice2.ethg++; tsnDevice2.ethg++ <--> Eth100M <--> tsnDevice3.ethg++; }
.ini配置文件内容
[Config exp1] sim-time-limit = 3s network = UdpExample *.*.eth[*].bitrate = 100Mbps *.client.numApps = 1 *.client.app[0].typename = "UdpSourceApp" *.client.app[0].display-name = "video-Device1" *.client.app[0].io.destAddress = "server" *.client.app[0].io.destPort = 1000 *.client.app[0].source.packetLength = 1000B *.client.app[0].source.productionInterval = 1ms # server applications *.server.numApps = 1 *.server.app[0].typename = "UdpSinkApp" *.server.app[0].io.localPort = 1000 [Config exp2] network = UdpExample1 sim-time-limit = 2s *.tsnDevice2.hasIncomingStreams = true *.tsnDevice2.hasOutgoingStreams = true #Ethernet links are 100Mbps *.*.eth[*].bitrate = 100Mbps #source *.tsnDevice1.numApps = 1 *.tsnDevice1.app[0].typename = "UdpSourceApp" *.tsnDevice1.app[0].source.packetNameFormat = "%M->tsnDevice1:-%c" *.tsnDevice1.app[0].source.packetLength = 175B *.tsnDevice1.app[0].source.productionInterval = 1ms *.tsnDevice1.app[0].io.destAddress = "tsnDevice3" *.tsnDevice1.app[0].io.destPort = 1004 *.tsnDevice1.app[0].source.initialProductionOffset = 1ms #client *.tsnDevice3.numApps = 1 *.tsnDevice3.app[0].typename = "UdpSinkApp" *.tsnDevice3.app[0].display-name = "tsnDevice1" *.tsnDevice3.app[0].io.localPort = 1004
我是OMNeT++新手,希望有人指导我解决该错误,或告知.ini文件需做的修改。
内容的提问来源于stack exchange,提问作者ROHIT S
相关产品推荐
相关产品推荐

