Typically an application that wishes to send multicast to two different 
interfaces would need to open two sockets and set the multicast interface 
socket option for each separately.  EMANE would need to be modified to do this.

Probably the most correct approach would to be build an app (e.g. a Python 
script) that monitors events on one interface and then resends them on the 
other as a sort of application level bridge.  Another approach would be to do 
something similar with some other sort of application bridge.


On Mar 27, 2014, at 10:07 PM, "Cheng, Bow-Nan - 0665 - MITLL" 
<[email protected]> wrote:

> Thanks Jeff! This seems to do the trick! 
> 
> Is there a way for EMANE to publish events on 2 different interfaces? 
> 
> From: <Ahrenholz>, Jeffrey M <[email protected]>
> Date: Thursday, March 27, 2014 9:14 PM
> To: Information Services Department <[email protected]>, 
> "[email protected]" <[email protected]>
> Subject: RE: Subscribing to emane events inside containers
> 
> Bow-Nan,
> This error occurs because there is no multicast route when loading the EMANE 
> Event Service library. (The IGMP join is unable to be sent.) You can fix this 
> within each node by enabling the DefaultMulticastRoute service or by running 
> the following in the node:
>  
> ip ro add 224.0.0.0/4 dev ctrl0
>  
> If the EMANE events are originating from some external source, then your 
> repeater script approach seems reasonable. If you are running an 
> emaneeventservice locally on the host, or if CORE is generating the location 
> events, then you could probably just add a multicast route (on the host) 
> giving the “dev b.ctrlnet.nnnnn” device, so the multicast EMANE location 
> events are directed to the controlnet.
>  
> -Jeff
>  
> From: [email protected] 
> [mailto:[email protected]] On Behalf Of Cheng, Bow-Nan 
> - 0665 - MITLL
> Sent: Thursday, March 27, 2014 1:45 PM
> To: [email protected]
> Subject: [emane-users] Subscribing to emane events inside containers
>  
> Hello,
>  
> I currently am using CORE to run tests with EMANE. In the current setup, 
> EMANE is run centralized on the host system while CORE spawns off containers. 
> I would like to expose EMANE position events into each container and process 
> the messages. Here's how I'm thinking of doing this:
> Inside CORE, create a controlnet
> On the host system, have a multicast repeater script that listens for EMANE 
> events and redirects it to the bridged interface created by CORE for the 
> control net
>  Inside the container, subscribe to the emaneevents and do my parsing there.
> I have #1 and #2 working. For #3, I'd like to use the EMANE user demo #19 
> (eventsubscriber.py) to subscribe to EMANE events and print them. Running 
> this script on the host system works perfectly.. However, when I try to run 
> the script inside the container, I get an error:
>  
> root@n1:~/Documents/demonstration/19# ./eventsubscriber.py 
> Traceback (most recent call last):
>   File "./eventsubscriber.py", line 15, in <module>
>     service = emaneeventservice.EventService()
> emaneeventservice.error: Transport option add membership
>  
> I'm suspecting it cannot find a library that it needs. I'm wondering if 
> there's anything special I need to enable inside the container to be able to 
> use the emaneeventservice python bindings inside a container? 
>  
> Also, if there's an easier way to do this (getting emane events inside 
> containers with EMANE running in centralized), please share. Thanks!
>  
> -Bow-Nan
> _______________________________________________
> emane-users mailing list
> [email protected]
> http://pf.itd.nrl.navy.mil/mailman/listinfo/emane-users

_______________________________________________
emane-users mailing list
[email protected]
http://pf.itd.nrl.navy.mil/mailman/listinfo/emane-users

Reply via email to