eiginn / coreemu

Automatically exported from code.google.com/p/coreemu
BSD 2-Clause "Simplified" License
0 stars 1 forks source link

EMANE event service port number not used when CORE generates location events #150

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Create scenario using an EMANE model
2. Under "EMANE options", change the "Event Service group" to a different port 
number e.g. 47509
3. If a default route exists for eth0, run two tcpdumps:
   tcpdump -nli eth0 port 47503
   tcpdump -nli eth0 port 47509
4. Start the scenario and drag a node on the canvas. CORE generates EMANE 
events using port 47503 instead of the configured 47509. The emane process is 
listening on 47509 and does not receive these location events. Verify using 
'netstat -unl'.

Original issue reported on code.google.com by ahrenh...@gmail.com on 20 Jul 2012 at 5:54

GoogleCodeExporter commented 9 years ago
as a side note, I wonder why these are showing up in my 'netstat -unl' output:

Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp     1280      0 0.0.0.0:45703           0.0.0.0:*                          
udp   161792      0 0.0.0.0:45703           0.0.0.0:*                          
udp   229376      0 0.0.0.0:45703           0.0.0.0:*                          
udp   229888      0 0.0.0.0:45703           0.0.0.0:*                          
udp   229376      0 0.0.0.0:45703           0.0.0.0:*                          
udp   229376      0 0.0.0.0:45703           0.0.0.0:*                          
udp   230400      0 0.0.0.0:45703           0.0.0.0:*                          
udp   230400      0 0.0.0.0:45703           0.0.0.0:*                          
udp   230400      0 0.0.0.0:45703           0.0.0.0:*                          

Original comment by ahrenh...@gmail.com on 20 Jul 2012 at 5:55

GoogleCodeExporter commented 9 years ago
EmaneNode.setnemposition() uses session.emane.service to publish location events

Emane.service = emaneeventservice.EventService() is set during init()

This needs to be moved to EmaneNode.service (it's a per-EmaneNode port setting.)
A libemaneeventservice.xml file needs to be written to the /tmp/pycore.nnnnn 
sessiondir.
The LIBEMANEEVENTSERVICECONFIG environment variable needs to point to this file 
prior to creating the EventService object.

Original comment by ahrenh...@gmail.com on 29 Aug 2012 at 8:37

GoogleCodeExporter commented 9 years ago
fixed in r493

Added buildeventservicexml() that writes 
/tmp/pycore.xxxxx/libemaneeventservice.xml file if the default group or port 
are changed.
Dynamically set LIBEMANEEVENTSERVICECONFIG environment variable when needed
to load the event service library XML.

Original comment by ahrenh...@gmail.com on 19 Dec 2013 at 10:29