USNavalResearchLaboratory / nrlsmf

NRL Simplified Multicast Forwarding (SMF) implementation (RFC 6621)
https://www.nrl.navy.mil/itd/ncs/products/smf
Other
10 stars 2 forks source link

Nrlsmf error message when nrlolsr makes the routing #8

Closed giannhspap24 closed 2 months ago

giannhspap24 commented 1 year ago

err

Could not recv pipe()

steps

1.install nrlolsr

  1. set up nrlolsr as service
  2. install nrlsmf
  3. execute nrlsmf(simple configuration, nrlsmf resequence...)
  4. Error

4a. Create multicast MGEN traffic 5b. execute nrlsmf

platform

CORE/EMANE

source

Inspired by this paper: https://www.semanticscholar.org/paper/Scaling-NS-3-DCE-Experiments-on-Multi-Core-Servers-Wiggins-Veytser/c5a91753f3274db36cf82e79b29cf683b2145740

weston-nrl commented 1 year ago

NRLOLSR and NRLSMF can communicate with each other using a 'protopipe' to provide relay set information to NRLSMF. The name of that pipe is controlled by the 'instance' commandline parameter of nrlsmf and the '-smfclient' commandline parameter of nrlolsrd -- those parameters must match on a given node in order to work correctly. Additionally, in a CORE environment, they must be different for each node because they are implemented as a file descriptor in /tmp, which is common across all CORE nodes. You can look at the default CORE services for NRLOLSR and NRLSMF to see how they handle that, if you're trying to customize something.

If this does not address your problem, please provide the full error message and commandlines for nrlolsrd and nrlsmf.

1328720068 commented 1 year ago

Hi author, sorry to interrupt, but I saw in the nrlsmf article on GitHub that you raised a question about setting up nrlolsr and implementing nrlsmf in core/emane. At present, I have no idea how to execute the nrlsmf service in the core node. I successfully built the nrlsmf but failed to find this command when executing the nrlsmf. In your spare time, can you describe to me how you set up the nrlolsr service and execute nrlsmf on a node in core/emane

weston-nrl commented 1 year ago

As noted in your other thread, it's as simple as building them and having the executables in your PATH so that you can run them by name from anywhere on the system (that is, by running "nrlsmf" not "./nrlsmf" or "/path/to/my/nrlsmf").