Error send()/sendDelayed(): Invalid gate 6815743

122 views
Skip to first unread message

Dania

unread,
Apr 15, 2018, 3:47:34 PM4/15/18
to OMNeT++ Users
hello!
I'm trying to simulate a network with two etherHost. I've added an IP layer to these nodes manually and then I've tried to send TCP traffic from one node to another.
When I run the simulation it gives me this error:

Error in module (inet::IPv4) Network.etherHost.networkLayer.ip (id=15) at event #13, t=1:send()/sendDelayed():Invalid gate Id 6815743

If anyone could help me I'd really appreciate it
thanks
Dania

Alfonso Ariza Quintana

unread,
Apr 16, 2018, 3:15:22 AM4/16/18
to omn...@googlegroups.com

 

I suspect that you have a gate incorrectly connected. I any case, you can use the generic node that already has the Ethernet and IP layer.

--
You received this message because you are subscribed to the Google Groups "OMNeT++ Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omnetpp+u...@googlegroups.com.
Visit this group at https://groups.google.com/group/omnetpp.
For more options, visit https://groups.google.com/d/optout.

Dania

unread,
Apr 16, 2018, 4:35:27 PM4/16/18
to OMNeT++ Users
Thanks for your answer Alfonso, 
For academic reasons, I have to add manually the IP layer to a node that only has a link layer and send UDP/TCP traffic. That's why I've modified the ethHost adding the networkLayer module and TCP/UDP modules to ethHost. This are the conexions between the networkLayer and the LLC module:

llc.upperLayerOut[2] --> networkLayer.ifIn++;
llc.upperLayerIn[2] <-- networkLayer.ifOut++;

The last message sent in the simulation before it stops , is arpREQ ( between ARP module and IPv4 modle in the networkLayer)
I attached a photo of my modified ethHost .

If anyone has some idea why the error is happening I'd appreciate any help
thanks
Dania
ethHost.png

Alfonso Ariza Quintana

unread,
Apr 18, 2018, 12:00:25 PM4/18/18
to omn...@googlegroups.com

Some more information can help. The routing table should have information about the gate that it is necessary to use for a destination.

Dania

unread,
Apr 19, 2018, 2:08:46 PM4/19/18
to OMNeT++ Users

My intention was to connect directly the networkLayer (IPv4NetworkLayer) to the LLC module (EtherLLC) in order to encapsulate/decapsulate Ipv4Datagrams  but I think that LLC module only encapsulate ethernet traffic, so I connected the module encap (IEtherEncap) to the networkLayer instead the LLC module and still didn't work. Then, I tried to connect directly the IWiredNic with the EthernetInterface from INET just like it is on the StandardHost (in order to see if the problem was due to wrong mac directions in the routing tables or something else) and it worked .

So my question is: ¿does anyone knows if the networkLayer must to be connected directly to a IWiredNic? or ¿How can I check this?

As I have seen that connecting the networkLayer directly to an IWiredNic worked it, the only thing that I have done is create a different version of EthernetInterface.ned from INET and put it in this IWiredNic. Even though it works, I'd have preferred to connect all the modules directly instead using IWiredNics.

For more information, here I attach the routing tables of etherHost (routingTables.png), the etherHost modified (etherHost.png), the EtherInterface(etherInterf2.png) that I've modified and a picture of the simulation.

Thanks for your help in advanced
Dania
etherHost.png
etherInterf2.png
routingTables.png
simulation.png
Reply all
Reply to author
Forward
0 new messages