Giter VIP home page Giter VIP logo

nrlsmf's Introduction

          NRL SMF Source Code Distribution

The NRL Simplified Multicast Forwarding (nrlsmf) project includes software for a user-space forwarding engine. This software is was developed by the Naval Research Laboratory (NRL) PROTocol Engineering Advanced Networking (PROTEAN) Research Group. The goal of this effort is to provide an implementation of experimental techniques for robust, efficient distribution of broadcast or multicast packets in dynamic, wireless networks such as Mobile Ad-hoc Networks (MANETs).

The nrlsmf application can be run as a stand-alone application capable of providing "classic" flooding of broadcast and multicast traffic for a specified network interface or can be used in conjunction with a controlling program to perform more sophisticated multicast forwarding. An interprocess communication "remote control" interface is provided so that a compatible program (e.g. nrlolsr) may issue real-time commands to nrlsmf to control the multicast forwarding process. Both IPv4 and IPv6 operation are supported. Versions of nrlsmf can be built for the following operating systems: Linux, MacOS, BSD, Win32, and WinCE.

Build Instructions

Requires Protolib: https://www.nrl.navy.mil/itd/ncs/products/protolib https://github.com/USNavalResearchLaboratory/protolib

For Unix platforms, the "nrlsmf/makefiles" directory in the source tree contains Makefiles for different platforms. Type:

make Makefile. nrlsmf

to build the nrlsmf binary executable.

For Win32 platforms, a distribution of "winpcap" is required to build the nrlsmf.exe executable. A Visual C++ solution (nrlsmf.sln) and project files are provided in the "makefiles/win32" directory for building nrlsmf.exe.

For WinCE (a.k.a. PocketPC) platforms, the "RawEther" library is required. The Rawether development kit is a commercial product available from http://www.rawether.net. (Note we are able to provide a binary distribution of nrlsmf.exe for WinCE platforms including the required Rawether libraries). A workspace (nrlsmf.vcw) and project files are provided for the Embedded Visual C++ compiler.

See the "nrlsmf.html" or "nrlsmf.pdf" file for further instructions.

nrlsmf's People

Contributors

bebopagogo avatar jafaral avatar nabahr avatar weston-nrl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

wieqli jafaral

nrlsmf's Issues

Make Linux Build

Hello,

I try to make file Linux Binaries, but i am getting following errors:

make: Nothing to be done for 'Makefile.linux'.
make: *** No rule to make target 'nrlsmf'. Stop.

I am using Ubuntu 20.04 LTS and installed protolib

nhdp binary compile errors

branch: master
commit:427df3d1063be84553b0c548c1b629606dd829be

nhdp.h
Line 116: class AddressAssociation// ;

nhdpTest.cpp
Line 236: char* ptr = strchr(val, '/'); // char* ptr -> const char* ptr

Invoke the nrl service in core

Ubuntu 20.04 LTS
core 8.2.0
How can I run the nrlsmf service in the core network simulation platform after I build the nrlsmf

Specific Build Instructions Not Available

Building nrlsmf and linking to protolib is vague. Please provide specific instructions to do so. Here is how our team did it, but we are not sure if this is correct:

  1. Clone the nrlsmf repository
  2. cd nrlsmf
  3. Clone the protolib repository
  4. cd makefiles
  5. make -f Makefile.<platform>, e.g. "make -f Makefile.linux"
  6. Observe error: "../src/linux/linuxDetour.cpp:13:51: fatal error: libnetfilter-queue/libnetfilter_queue.h: No such file or directory"
  7. Install libnetfilter-queue. For Ubuntu, this is "sudo apt install libnetfilter-queue-dev"
  8. Repeat step 5
  9. If desired install: "sudo cp nrlsmf /usr/local/bin"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.