adjacentlink / emane-tutorial

This project is deprecated in favor of The EMANE Guide.
https://emane.io
Other
20 stars 15 forks source link

Resources #14

Closed mdcovarr closed 6 years ago

mdcovarr commented 6 years ago

Hello I was wondering if there are any resources to help me hook up traffic from a device or application to a NEM instance. Anything would help thanks

sgalgano commented 6 years ago

You will want to route application traffic to the vif which corresponds to the NEM.

Usually you are running a routing protocol on your nodes and configuring that protocol to use emane0 as the over-the-air interface. The tutorial uses OLSR for routing and mgen for (application) traffic generation. If you have a more complex network architecture, you'll want to configure applications running on hosts using radio nodes as next hops.

mdcovarr commented 6 years ago

ideally I would like to ping one cisco router from another cisco router through the NEMs and the OTA emulation. It seems like this should be possible?

sgalgano commented 6 years ago

That is definitely possible.

You need to setup your routes (and/or routing protocols) so that the respective routers use their corresponding nodes (NEMs running in emulator instances in either containers, physical nodes or VMs) as next hops. You'll probably want to run a MANET routing protocol on your nodes running emane such that the Virtual Transport vifs are configured as the interface the protocol uses for over-the-air messaging.

mdcovarr commented 6 years ago

Still not there for me yet. If my physical interfaces of my emane computer (host) are enp02s20u4 (connected to cisco router 1) and enp02s20u1 (connected to cisco router 2) how do I get the data from enp02s20u4 into the emane simulation at all? (Sorry for all the questions...)

sgalgano commented 6 years ago

You have two options: add a physical interface to each of your containers (assuming you are using LXC w/ emane) and then setup your routing configuration appropriately; or you can use the Raw Transport somewhat similar to demo 7, configure each of your NEMs to use external transports and run emaentransportd on your host. The raw transport instances would be configured to use your physical interfaces and the routers would be connected as if they are on the same subnet.

mdcovarr commented 6 years ago

Hi Steven, thanks for the info; with it I was able to configure EMANE to allow external data to be passed through the OTA. I went ahead and added additional virtual ethernet pairs to the NEM containers. Additionally I configured the OLSR daemons to advertise the respective external networks; this handled configuring the next hops. Finally by bridging external interfaces to the respective veth interface on the host I was able get the behavior I desired. Thanks