GithubHelp home page GithubHelp logo

ns3dvrp's Introduction

ns3dvrp

A distance vector routing protocl (DVRP) for ns-3 simulator.

Distance Vector Routing Protocol (DVRP) Integration for ns3

As IPv4 proactive table driven routing protocol, the DVRP is implemented to the ns-3. This routing protocol ebables a good platform for testing and experimenting with different network typologies.

The DVRP is a IPv4 unicast only routing protocol, which is developed based on the Bellman-Ford algorithm. In particular, DVRP is developed based on RIPv2 (RFCs : rfc: 2453) and thus, DVRP supports some additional features that are not defined in both RPIv2 and RIPng. Among those additional features, use sequence numbering for route updates, and maintain a neighbor table for fast reactions for topology changes are major.

The protocol is very simple, and it is normally suitable for flat, medium scale network typologies.

USAGE


Building the DVRP

Download the DVRP patch file the ns3 executable directory (i.e., /ns-3.21). Then patch the ns3 using::

$ patch -p1 < dvrp.patch

Upon successful patch you can see the 'dvrp' folder is created under::

$ cd src/ $ ls

Once the DVRP has been created successfully, change into the ns3 executable directory and configure ns3 with DVRP integration support::

$ cd .. $ ./waf configure --enable-examples --enable-tests $ ./waf build

Hint: If the DVRP module is installed and build successfully, you can execute the DVRP example as follow::

$ ./waf --run "dvrp-example --MTable"

and you an observe the routing table of the node3.

ns3dvrp's People

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

rsenwar

ns3dvrp's Issues

Help

I following your step but when I do the step "$ cd .. $ ./waf configure --enable-examples --enable-tests $ ./waf build". It's not work. you can help me.

Help Required

Hello,Whenever I am going to build this by ./waf build it shows a lots of error. could you help me regarding this issues? It will be a great help to me.

Error Message that I got:

~/ns3/ns3New26/ns-allinone-3.26/ns-3.26$ ./waf build
Waf: Entering directory `/home/ishtiaque/ns3/ns3New26/ns-allinone-3.26/ns-3.26/build'
[1739/2756] Compiling src/dvrp/model/dvrp.cc
../src/dvrp/model/dvrp.cc: In member function ‘virtual void ns3::DVRPRoutingProtocol::NotifyInterfaceUp(uint32_t)’:
../src/dvrp/model/dvrp.cc:234:17: error: variable ‘ifaceNetworkAddress’ set but not used [-Werror=unused-but-set-variable]
Ipv4Address ifaceNetworkAddress = iface.GetLocal().CombineMask(ifaceNetMask);
^
../src/dvrp/model/dvrp.cc: In member function ‘void ns3::DVRPRoutingProtocol::Receive(ns3::Ptrns3::Socket)’:
../src/dvrp/model/dvrp.cc:720:3: error: ‘SocketAddressTag’ was not declared in this scope
SocketAddressTag tag;
^
../src/dvrp/model/dvrp.cc:721:33: error: ‘tag’ was not declared in this scope
if (!packet->RemovePacketTag (tag))
^
../src/dvrp/model/dvrp.cc:732:63: error: ‘tag’ was not declared in this scope
Ipv4Address senderAddress = InetSocketAddress::ConvertFrom (tag.GetAddress ()).GetIpv4 ();
^
cc1plus: all warnings being treated as errors

Waf: Leaving directory `/home/ishtiaque/ns3/ns3New26/ns-allinone-3.26/ns-3.26/build'
Build failed
-> task in 'ns3-dvrp' failed (exit status 1):
{task 139964716103952: cxx dvrp.cc -> dvrp.cc.1.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-std=c++11', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-fPIC', '-pthread', '-I/usr/local/boost_1_64_0', '-I.', '-I..', '-DNS3_BUILD_PROFILE_DEBUG', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_SYS_IOCTL_H=1', '-DHAVE_IF_NETS_H=1', '-DHAVE_NET_ETHERNET_H=1', '-DHAVE_PACKET_H=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '-DHAVE_SQLITE3=1', '../src/dvrp/model/dvrp.cc', '-c', '-o', '/home/ishtiaque/ns3/ns3New26/ns-allinone-3.26/ns-3.26/build/src/dvrp/model/dvrp.cc.1.o']

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.