Adding CLWPR Protocol to ns3.24

923 views
Skip to first unread message

Christixn Criollo

unread,
Jan 17, 2016, 4:56:52 PM1/17/16
to ns-3-users
Hi everyone, hope you can help me

Im trying to add the CLWPR protocol developed by Konstantinos, i downloaded the version for ns3.23 from "https://www.dropbox.com/s/4bl4reosdrn79jm/ns-3.23-with-CLWPR.tar.bz2"

Currentrly im working on ns3.24 and  i cant compile CLWPR protocol, i downloaded the files and i tried to install as if its a new ns3 version, i have  tried with waf but i couldnt succes, and tried with bulid.py but the folder doesnt has this file so i replaced the ns3.24 folder and putted the ns3.23 with CLWPR, but it doesnt works. My directory is something like that:

:~/ns-allinone-3.24$
bake          constants.pyc  pybindgen-0.17.0.post41+ngd10fa60  util.pyc
build.py      netanim-3.106  README
constants.py  ns-3.23        util.py

I tried to configure again but it doestn works, can anybody help me or guide me if im doing wrong?
Should I download ns3.23 and do the same steps? If yes, if i don't unistall 3.24 will be any problem? could i have both version installed and working?
Hope have permission to use the protocol K, Cheers.

Christian




Konstantinos

unread,
Jan 17, 2016, 7:35:27 PM1/17/16
to ns-3-users
Hi Christian,

The zipped file is a complete NS-3 tree (based on NS-3.23), it's not just the CLWPR module as it contains several modifications on the base code.
That means, what you have downloaded can be used directly as if it was NS-3. Configure and Build it and it should work. 

If you want to port it to NS-3.24 (which I would recommend), you will need to download the base NS-3.23, make a diff (see what are those modifications) and apply them by hand to the NS-3.24. Most of the modifications are the addition of 3 main components (CLWPR, WINNER-II propagation and mobility related).

Regards,
K.

Christixn Criollo

unread,
Jan 17, 2016, 9:52:12 PM1/17/16
to ns-3-users
Thanks for the reply Konstantinos

I tried to do what you recommended, I did it:

./build.py --enable-examples --enable-tests
./waf -d debug --enable-examples --enable-tests configure
./waf
 
With the first command i get "Build finished successfully" but plus the message in red.
The when configure with the second I get: 'configure' finished successfully (5.494s)
Ant finally when i used the third command again I get the error in red

When i ran the protocol or any example it doesn works, the error is again the same in red show bellow

Traceback (most recent call last):
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Scripting.py", line 97, in waf_entry_point
    run_commands()
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Scripting.py", line 153, in run_commands
    ctx=run_command(cmd_name)
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Scripting.py", line 146, in run_command
    ctx.execute()
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Scripting.py", line 354, in execute
    return execute_method(self)
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Build.py", line 106, in execute
    self.execute_build()
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Build.py", line 109, in execute_build
    self.recurse([self.run_dir])
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Context.py", line 125, in recurse
    user_function(self)
  File "/home/christian/ns-allinone-3.23/ns-3.23/wscript", line 724, in build
    bld.recurse('src')
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Context.py", line 125, in recurse
    user_function(self)
  File "/home/christian/ns-allinone-3.23/ns-3.23/src/wscript", line 327, in build
    bld.recurse(list(all_modules))
  File "/home/christian/ns-allinone-3.23/ns-3.23/.waf-1.7.16-9ca17eb492c97b689870b4ff9db75880/waflib/Context.py", line 125, in recurse
    user_function(self)
  File "/home/christian/ns-allinone-3.23/ns-3.23/src/loc-service/wscript", line 36, in build
    bld.resource('examples')


If you have a solucion please give, if dont i will try to add a new module using : https://www.nsnam.org/docs/release/3.24/manual/html/new-modules.html
I was reading it and I guess that i should do the first and the eighth step, Am I right?  What else should I do or be careful when adding a new module?

Thanks for your help


Konstantinos

unread,
Jan 18, 2016, 5:01:02 AM1/18/16
to ns-3-users
Hi Christian,

Thanks for reporting. The truth is that I have not been using examples in my configuration, so I haven't spot those errors.

Actually there are three error that need fixing:
1) The examples in loc-service module. Open the wscript file (src/loc-service/wscript) and update this part at the end
    if bld.env.ENABLE_EXAMPLES:
        bld.resource('examples')
with this part
   if bld.env.ENABLE_EXAMPLES:
        bld.recurse('examples')

and also in the wscript file of the example (/src/loc-service/examples/wscript) add the dependencies for proper linking

def build(bld):
    obj = bld.create_ns3_program('loc-service-example',['core','applications','internet’,’’point-to-point,’loc-service'])
    obj.source = 'loc-service-example.cc'

2) Delete the examples folder in the visibilityMap module and also update its wscript file (src/visibiltyMap/wscript) by deleting the 
   if bld.env.ENABLE_EXAMPLES:
        bld.recurse('examples')
The was no true example in that module. Only the skeleton for an example. 

3) Modifications in the CLWPR example to the stricter compilers (uninitialized arrays).

Replace:
WIFI_PHY_STANDARD_80211p_CCH
with
WIFI_PHY_STANDARD_80211a

also replace:
    InetSocketAddress remote[10] = InetSocketAddress (i.GetAddress (1, 0), 80);
    remote
[0] = InetSocketAddress (i.GetAddress (2, 0), 80);
    remote
[1] = InetSocketAddress (i.GetAddress (3, 0), 80);
    remote
[2] = InetSocketAddress (i.GetAddress (4, 0), 80);
    remote
[3] = InetSocketAddress (i.GetAddress (10, 0), 80);
    remote
[4] = InetSocketAddress (i.GetAddress (13, 0), 80);
    remote
[5] = InetSocketAddress (i.GetAddress (14, 0), 80);
    remote
[6] = InetSocketAddress (i.GetAddress (17, 0), 80);
    remote
[7] = InetSocketAddress (i.GetAddress (19, 0), 80);
    remote
[8] = InetSocketAddress (i.GetAddress (20, 0), 80);
    remote
[9] = InetSocketAddress (i.GetAddress (23, 0), 80);

with
    InetSocketAddress remote[10] = { InetSocketAddress (i.GetAddress (1, 0), 80),
   
InetSocketAddress (i.GetAddress (3, 0), 80),
   
InetSocketAddress (i.GetAddress (4, 0), 80),
   
InetSocketAddress (i.GetAddress (10, 0), 80),
   
InetSocketAddress (i.GetAddress (13, 0), 80),
   
InetSocketAddress (i.GetAddress (14, 0), 80),
   
InetSocketAddress (i.GetAddress (17, 0), 80),
   
InetSocketAddress (i.GetAddress (19, 0), 80),
   
InetSocketAddress (i.GetAddress (20, 0), 80),
   
InetSocketAddress (i.GetAddress (23, 0), 80)};

Regards,
K.

Tommaso Pecorella

unread,
Jan 18, 2016, 5:09:42 AM1/18/16
to ns-3-users
Perhaps we could give a refresh to the code and review it properly ?

T.

Konstantinos

unread,
Jan 18, 2016, 5:21:44 AM1/18/16
to ns-3-users
Hi Tommaso,

It should be an interesting task to do. 
If I had the time, I would re-write most of the protocol code due to experience gained since the initial development...
At the moment I have applied those updates to the code. So anyone who downloads it for my website, it should compile without problems.

Cheers,
K.

Christixn Criollo

unread,
Jan 18, 2016, 11:12:13 AM1/18/16
to ns-3-users
Hi, Thanks to all

Thanks for help me to overcome it.

I did the changes that Konstantinos recommended.
I did ./waf -d debug --enable-examples --enable-tests configure and everything is ok
I did ./waf but i get the next mistake
...
...
[1002/2470] cxx: src/spectrum/examples/adhoc-aloha-ideal-phy-with-microwave-oven.cc -> build/src/spectrum/examples/adhoc-aloha-ideal-phy-with-microwave-oven.cc.3.o
../src/clwpr/test/bug780-test.cc: In member function ‘void ns3::clwpr::Bug780Test::CreateNodes()’:
../src/clwpr/test/bug780-test.cc:176:73: error: ‘GetTempDir’ was not declared in this scope
   std::string prefix = (WRITE_VECTORS ? NS_TEST_SOURCEDIR : GetTempDir ()) + PREFIX;
                                                                         ^
../src/clwpr/test/bug780-test.cc: In member function ‘void ns3::clwpr::Bug780Test::CheckResults()’:
../src/clwpr/test/bug780-test.cc:188:26: error: ‘GetTempDir’ was not declared in this scope
       os2 << GetTempDir () << PREFIX << "-" << i << "-0.pcap";

Waf: Leaving directory `/home/christian/ns-3.23/build'
Build failed
 -> task in 'ns3-clwpr-test' failed (exit status 1):
    {task 140089298300496: cxx bug780-test.cc -> bug780-test.cc.3.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-I../src/clwpr', '-fPIC', '-pthread', '-pthread', '-I.', '-I..', '-I/usr/include/gtk-2.0', '-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include', '-I/usr/include/gio-unix-2.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/atk-1.0', '-I/usr/include/pixman-1', '-I/usr/include/libpng12', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/harfbuzz', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/freetype2', '-I/usr/include/libxml2', '-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_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '-DNS_TEST_SOURCEDIR="src/clwpr/test"', '../src/clwpr/test/bug780-test.cc', '-c', '-o', 'src/clwpr/test/bug780-test.cc.3.o']



I downloaded again the new version from your Dropbox, did the same steps and everything ok with ./waf -d debug --enable-examples --enable-tests configure , but with ./waf i get the next mistake:
...
...
[1079/2470] cxx: src/dsdv/model/dsdv-routing-protocol.cc -> build/src/dsdv/model/dsdv-routing-protocol.cc.1.o
../src/loc-service/test/loc-service-test-suite.cc:14:10: error: expected unqualified-id before ‘-’ token
 class Loc-serviceTestCase1 : public TestCase
          ^
../src/loc-service/test/loc-service-test-suite.cc:25:4: error: expected unqualified-id before ‘-’ token
 Loc-serviceTestCase1::Loc-serviceTestCase1 ()
    ^
../src/loc-service/test/loc-service-test-suite.cc:32:4: error: expected unqualified-id before ‘-’ token
 Loc-serviceTestCase1::~Loc-serviceTestCase1 ()
    ^
../src/loc-service/test/loc-service-test-suite.cc:41:4: error: expected initializer before ‘-’ token
 Loc-serviceTestCase1::DoRun (void)
    ^
Waf: Leaving directory `/home/christian/ns-3.23/build'
Build failed
 -> task in 'ns3-loc-service-test' failed (exit status 1):
    {task 140053402043088: cxx loc-service-test-suite.cc -> loc-service-test-suite.cc.3.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-I../src/loc-service', '-fPIC', '-pthread', '-pthread', '-I.', '-I..', '-I/usr/include/gtk-2.0', '-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include', '-I/usr/include/gio-unix-2.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/atk-1.0', '-I/usr/include/pixman-1', '-I/usr/include/libpng12', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/harfbuzz', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/freetype2', '-I/usr/include/libxml2', '-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_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '-DNS_TEST_SOURCEDIR="src/loc-service/test"', '../src/loc-service/test/loc-service-test-suite.cc', '-c', '-o', 'src/loc-service/test/loc-service-test-suite.cc.3.o']

Any recommendation will be helpfull, thanks in ancvance

Konstantinos

unread,
Jan 18, 2016, 11:56:37 AM1/18/16
to ns-3-users
There are no actual test cases Loc-Service modules and those for CLWPR are not updated. 
I would recommend to delete them, i.e. delete this part for the wscript file of CLWPR

   module_test = bld.create_ns3_module_test_library('clwpr')
    module_test.source = [
        'test/bug780-test.cc',
        ]

and this part from the loc-service wscript file

    module_test = bld.create_ns3_module_test_library('loc-service')
    module_test.source = [
        'test/loc-service-test-suite.cc',
        ]

Christixn Criollo

unread,
Jan 18, 2016, 1:19:44 PM1/18/16
to ns-3-users
I did the las modification, i get another error:

../src/visibilityMap/test/visibilityMap-test-suite.cc: In constructor ‘VisibilitymapTestSuite::VisibilitymapTestSuite()’:
../src/visibilityMap/test/visibilityMap-test-suite.cc:62:42: error: no matching function for call to ‘VisibilitymapTestSuite::AddTestCase(VisibilitymapTestCase1*)’
   AddTestCase (new VisibilitymapTestCase1);
                                          ^
../src/visibilityMap/test/visibilityMap-test-suite.cc:62:42: note: candidate is:
In file included from ../src/visibilityMap/test/visibilityMap-test-suite.cc:7:0:
./ns3/test.h:1143:8: note: void ns3::TestCase::AddTestCase(ns3::TestCase*, ns3::TestCase::TestDuration)
   void AddTestCase (TestCase *testCase, enum TestDuration duration);
        ^
./ns3/test.h:1143:8: note:   candidate expects 2 arguments, 1 provided

Waf: Leaving directory `/home/christian/ns-3.23/build'
Build failed
 -> task in 'ns3-visibilityMap-test' failed (exit status 1):
    {task 140219077027344: cxx visibilityMap-test-suite.cc -> visibilityMap-test-suite.cc.3.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-I../src/visibilityMap', '-fPIC', '-pthread', '-I.', '-I..', '-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_SQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DHAVE_GSL=1', '-DNS_TEST_SOURCEDIR="src/visibilityMap/test"', '../src/visibilityMap/test/visibilityMap-test-suite.cc', '-c', '-o', 'src/visibilityMap/test/visibilityMap-test-suite.cc.3.o']

Sorry for any inconvenience

Konstantinos

unread,
Jan 18, 2016, 2:51:04 PM1/18/16
to ns-3-users
Again, as I said... just delete/disable the tests.

Christixn Criollo

unread,
Jan 18, 2016, 3:40:54 PM1/18/16
to ns-3-users
You were right Konstantinos, thank you for all. I did the same three times for mobilitymap, winner-models and other error that i dont remember. The compilation was ok.
I ran first.cc and its ok
I ran the example "simple-clwpr-example" from CLWPR and i loaded my file, my 283 line is:
Ns2MobilityHelper ns2 = Ns2MobilityHelper ("scratch/ns2mobility_process.tcl"); but i get an error

christian@christianpc:~/ns-3.23$ ./waf --run scratch/mysimple-clwpr-example
Waf: Entering directory `/home/christian/ns-3.23/build'
[ 958/2464] cxx: scratch/mysimple-clwpr-example.cc -> build/scratch/mysimple-clwpr-example.cc.5.o
[2452/2464] cxxprogram: build/scratch/mysimple-clwpr-example.cc.5.o -> build/scratch/mysimple-clwpr-example
Waf: Leaving directory `/home/christian/ns-3.23/build'
'build' finished successfully (7.620s)
msg="Invalid attribute set (UtilFact) on ns3::clwpr::RoutingProtocol", file=../src/core/model/object-factory.cc, line=75
terminate called without an active exception
Command ['/home/christian/ns-3.23/build/scratch/mysimple-clwpr-example'] terminated with signal SIGIOT. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

Can you help me?


Konstantinos

unread,
Jan 18, 2016, 3:50:53 PM1/18/16
to ns-3-users
There has been some changes in the API from the initial development of the protocol. The example (simple-clwpr-example) is not the best example to use.
I had one attribute (UtilFact) which I after investigation and analysis it was merged in other.
For more detailed analysis I would recommend to read the journal version of the protocol

Try to use use the example in /scratch/hw-its/vanet-routing-compare.cc

Christixn Criollo

unread,
Jan 18, 2016, 5:43:03 PM1/18/16
to ns-3-users
Everithing seems to be allright but when i run the example /scratch/hw-its/vanet-routing-compare.cc its not successfully
...
Progress Completed .. 95%
Progress Completed .. 96%
Progress Completed .. 97%
Progress Completed .. 98%
Progress Completed .. 99%
Command ['/home/christian/ns-3.23/build/scratch/myvanet-routing-compare'] terminated with signal SIGSEGV. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

Christixn Criollo

unread,
Jan 18, 2016, 5:52:12 PM1/18/16
to ns-3-users
If you have some clue about the error will be greatm but It is happening in two computers, so ill reedit the original vanet-routing-compare file, and see whats happening.

Thanks for the help

Konstantinos

unread,
Jan 19, 2016, 3:58:45 AM1/19/16
to ns-3-users
I know about this issue, but it does not affect the scenario.
The results are collected and the simulation has run to finish.

It is some short of memory leaking which I have not been able to identify.

Christixn Criollo

unread,
Feb 2, 2016, 1:02:47 PM2/2/16
to ns-3-users
Hi, everyone

Sorry if missed something in the theory, but CLWPR works only with 802.11b, not with 802.11p, when i use 802.11p i got the next message error

Waf: Leaving directory `/home/christian/old-ns-3.23/build'
'build' finished successfully (9.024s)
assert failed. cond="mac != NULL", file=../src/clwpr/model/clwpr-routing-protocol.cc, line=1965

terminate called without an active exception

Does CLWPR support working with 802.11p, or not because i looked inside of CLWPR files and i see 802.11b for several times? whay can I do in order to use CLWPR+802.11ṕ?

Thanks

Konstantinos

unread,
Feb 2, 2016, 1:32:42 PM2/2/16
to ns-3-users
Hi Christian,

When CLWPR was developed, the WAVE module was not. 
Any 802.11p simulations with CLWPR used WiFi net devices configured to 11p standard which now has been deprecated (replaced by the wave netdevice). 

So, at the moment you can not use the WAVE net device with CLWPR because you will get such exceptions. The 'mac' is NULL because it is not WiFi AdHoc MAC, it is OcbMac (in principle they are the same - functionality, but in practice not - different class).

Ptr<WifiNetDevice> dev = DynamicCast<WifiNetDevice> (m_node->GetDevice(m_mainDevice));
NS_ASSERT
(dev != NULL);
PointerValue ptr;
PointerValue ptr2;
dev
->GetAttribute ("Mac",ptr);
Ptr<AdhocWifiMac> mac = ptr.Get<AdhocWifiMac> ();
NS_ASSERT (mac != NULL);
dev
->GetAttribute("RemoteStationManager", ptr2);

This is the part of the offending code. 
You can see that there is a dynamic cast to WifiNetDevice which if you use WAVE net device will create a OcbMac instead of AdhocWifiMac, so the pointer will be null.
In addition, there is no RemoteStationManager attribute in the WaveNetDevice, so even if you fix the MAC you will get an error about the "wifiRemSt != NULL".

Bottom line, you can not use CLWPR with WAVE at the moment. You can safely use it with WifiNetDevices (WIFI_PHY_STANDARD_80211_10MHZ) which is the pretty much the same PHY/MAC as 802.11p. 

If you wish though, you could try to update the part of the code that limits the use in WiFi NetDevices and submit your patches.
It shouldn't be that difficult.

Regards,
K.

kesava...@vit.ac.in

unread,
Feb 10, 2017, 2:01:23 AM2/10/17
to ns-3-users
Hi everyone
Me also got same error while executing can I know what to do after this?
Hope you can help me

Tommaso Pecorella

unread,
Feb 14, 2017, 9:57:32 AM2/14/17
to ns-3-users
Hi,

for example you could start by reading the posting guidelines and explaining exactly what is your problem. Also reading carefully the thread is helpful.

T.

kesavan srini

unread,
Mar 17, 2017, 4:49:38 PM3/17/17
to ns-3-users
when i run the example /scratch/hw-its/vanet-routing-compare.cc its not successfully
...
Progress Completed .. 95%
Progress Completed .. 96%
Progress Completed .. 97%
Progress Completed .. 98%
Progress Completed .. 99%
Command ['/home/ns-3.23/build/scratch/vanet-routing-compare'] terminated with signal SIGSEGV. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

harshit...@gmail.com

unread,
Aug 3, 2017, 10:09:03 AM8/3/17
to ns-3-users
Sir
I have been following your work on clwpr.
As you suggested here , I tried to run /scratch/hw-its/vanet-routing-compare.cc, but it is taking so much time to run. I ran it for almost 4 hours and even after that it was just 50% completed.
Can you please help me with this issue?

harshit...@gmail.com

unread,
Aug 4, 2017, 4:39:23 AM8/4/17
to ns-3-users
Hey Chrisstixn,
I tried to run scratch/hw-its/vanet-routing-compare.cc  but it seems to run like forever. It took almost 5-6 hours to execute completely. Did you face the same issue? Do you have any idea why it must be taking that much time? The simulation time is 200 seconds. Shouldn't it run for 200 seconds only?
Hope you can help me.

ravi

unread,
Jan 10, 2018, 11:21:01 PM1/10/18
to ns-3-users
Hello Konstantinos,
                      I have download the ns-3.23 from the drop-box as mentioned in the link. But when I try .waf configure it says The 'wscript in '/home/..../ns-3.23' is unreadable'. Why is that? Is it because I am already using later version of ns3 [ currently i am using ns-3.27]. But if i just separately download and install ns-3.23 why should it be a problem? Please help. Thanks!

Konstantinos

unread,
Jan 11, 2018, 4:43:57 AM1/11/18
to ns-3-users
The source code you can download  from my website contains a complete ns-3.23 codebase with the additional CLWPR and other modules.
To test it, you simply  unzip and work on that folder. You do not have to copy/merge with other ns-3 releases. 
I haven't encounter the error you mention.

Moyukh Laha

unread,
Jan 11, 2018, 5:48:34 AM1/11/18
to ns-3-...@googlegroups.com
Thanks Konstantinos. It worked in a machine which previously have only ns-3.22 installed. But it didn't work with another machine where I have ns-3.27 installed. Don't know whats going on. Anyway, I have another query. I want to use traffic control layer module to be used in clwpr model. However 3.23 didn't have traffic control module. How can I integrate traffic control module in your package?
Also can we use 802.11p here? I find in the thread where you mentioned wave can not be used here. It was a old comment though, so I want to ask if this model worked upon later to be used with 802.11p and wave?
Thanks!

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/Lu30yg_xz3A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-users+unsubscribe@googlegroups.com.
To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

Konstantinos

unread,
Jan 11, 2018, 6:32:54 AM1/11/18
to ns-3-users
Comments inline


On Thursday, 11 January 2018 10:48:34 UTC, ravi wrote:
Thanks Konstantinos. It worked in a machine which previously have only ns-3.22 installed. But it didn't work with another machine where I have ns-3.27 installed.

It should not be a problem. I have more than one ns3 releases on my machine. Each one is working on their own folder.
 
Don't know whats going on. Anyway, I have another query. I want to use traffic control layer module to be used in clwpr model. However 3.23 didn't have traffic control module. How can I integrate traffic control module in your package?

You would have to port forward the module. Not that it is not just the CLWPR folder that needs to be copied. There are modifications in wifi, mobility and other new modules. Hence I provided as it is. 
 
Also can we use 802.11p here? I find in the thread where you mentioned wave can not be used here. It was a old comment though, so I want to ask if this model worked upon later to be used with 802.11p and wave?

You can use WAVE but you would have to modify the code as in certain parts, I'm accessing the WifINetDevice which has to be changed to WaveNetDevice.

Moyukh Laha

unread,
Jan 11, 2018, 9:29:19 AM1/11/18
to ns-3-...@googlegroups.com
Thanks a lot Sir. How to port forward the module? Any suggestions/links about the process?
           I read the CLWPR paper published in WIRELESS COMMUNICATIONS AND MOBILE COMPUTING. You mentioned you used ns-3.16. You mentioned in the paper to have use realistic mobility trace in scenario-2 i.e. Unter-strass, Zurich. However in this thread you mentioned real traces cant be used for now. So if I want to use realistic trace what to do in this current version( the version open for downloading).
          You also mentioned in the paper ETS-GF, AGF and GyTAR routing protocols are used for performance comparison. Are those codes available for ns-3. Can I get those?
On another issue, I used traffic control layer for wireless environment.(ns-3.27) but got error. I posted this in this group but didn't get reply till now. So, asking you, if you please. Here is the snippet.

// Set it to adhoc mode
  wifiMac.SetType ("ns3::AdhocWifiMac");
  NetDeviceContainer devices = wifi.Install (wifiPhy, wifiMac, c);
  TrafficControlHelper tchPfifoFastAccess;
  tchPfifoFastAccess.SetRootQueueDisc ("ns3::PfifoFastQueueDisc", "Limit", UintegerValue (1000));
  tchPfifoFastAccess.Install (devices);


However I am getting this error::

assert failed. cond="tc != 0", file=../src/traffic-control/helper/traffic-control-helper.cc, line=363
terminate called without an active exception.


What am I missing here?


Konstantinos

unread,
Jan 12, 2018, 6:30:08 AM1/12/18
to ns-3-users
Hi


On Thursday, 11 January 2018 14:29:19 UTC, ravi wrote:
Thanks a lot Sir. How to port forward the module? Any suggestions/links about the process?

Hand's on work. See the changes between the 'vanilla' version for ns-3.23 and the modified 'CLWPR' version to see what has been introduced. Then copy that to the latest release making sure you are consistent at least with the WSCRIPT file format. 
 
           I read the CLWPR paper published in WIRELESS COMMUNICATIONS AND MOBILE COMPUTING. You mentioned you used ns-3.16. You mentioned in the paper to have use realistic mobility trace in scenario-2 i.e. Unter-strass, Zurich. However in this thread you mentioned real traces cant be used for now. So if I want to use realistic trace what to do in this current version( the version open for downloading).

Yes, it can be used, but not out-of-the-box. You would need to create the underlying map that the vehicles follow and that can be a challenging. I did that for the Zurich mobility trace files.
 
          You also mentioned in the paper ETS-GF, AGF and GyTAR routing protocols are used for performance comparison. Are those codes available for ns-3. Can I get those?

ETSI-GF is a simple greedy forwarding that looks only on eucledian distance 
AGF has carry-n-forward with distance

These two can be configured with proper CLWPR parameters (enabling/disabling factors)

GyTAR is not publicly available.
 
On another issue, I used traffic control layer for wireless environment.(ns-3.27) but got error. I posted this in this group but didn't get reply till now. So, asking you, if you please. Here is the snippet.


Haven't used the TC module and hence can't comment. 

Moyukh Laha

unread,
Jan 12, 2018, 11:55:14 AM1/12/18
to ns-3-...@googlegroups.com
Thanks a lot Sir. Interested to know about creating underlying map from realistic trace. I see a lot of .txt file in your customized ns-3.23/scratch with names like- **-visibility.txt, **roads.txt etc. Can't understand how you are creating those files with values. Can you suggest something so that I can understand these things and can generate those values..
Thanks!

Moyukh Laha

unread,
Jan 17, 2018, 11:32:19 AM1/17/18
to ns-3-...@googlegroups.com
Hello Sir,
             I tried to run the code hwits-nlos/vanet-routing-compare.cc, with parameter m_protocol(9) [i.e. CLWPR what I have understood]. But I get the following error

assert failed. cond="false", msg="Node could not be located on any road: X 1.84467e+16 Y 990.15", file=../src/mobility/model/waypoint-map.cc, line=407

Since I have no idea about how the road-topology is made from Manhattan Grid, I can't understand what’s going wrong. Can you please help?

Thanks.



Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted
Message has been deleted

nittinsant...@vit.ac.in

unread,
Sep 15, 2018, 10:31:10 AM9/15/18
to ns-3-users
Hello sir! I am trying to add the CLWPR protocol developed by you, i downloaded the version for ns3.23 from "https://www.dropbox.com/s/4bl4reosdrn79jm/ns-3.23-with-CLWPR.tar.bz2"
But it shows the following error and i'm not able to work around it. i was hoping if you could help.
In file included from ./ns3/network-module.h:43:0,
                 from ../scratch/hwits-nlos/vanet-routing-compare.cc:16:
./ns3/net-device-queue-interface.h:40:23: error: ‘Queue’ is not a class template
 extern template class Queue<Packet>;
                       ^~~~~
./ns3/net-device-queue-interface.h:40:23: error: explicit instantiation of non-template type ‘ns3::Queue’
./ns3/net-device-queue-interface.h:41:23: error: ‘Queue’ is not a class template
 extern template class Queue<QueueDiscItem>;
                       ^~~~~
./ns3/net-device-queue-interface.h:41:23: error: explicit instantiation of non-template type ‘ns3::Queue’
./ns3/net-device-queue-interface.h:153:35: error: ‘ns3::Queue’ is not a template
   static void PacketEnqueued (Ptr<Queue<Item> > queue,
                                   ^~~~~
./ns3/net-device-queue-interface.h:172:35: error: ‘ns3::Queue’ is not a template
   static void PacketDequeued (Ptr<Queue<Item> > queue,
                                   ^~~~~
./ns3/net-device-queue-interface.h:191:36: error: ‘ns3::Queue’ is not a template
   static void PacketDiscarded (Ptr<Queue<Item> > queue,
Thank you!

Christine Sylv

unread,
Nov 29, 2019, 6:06:41 AM11/29/19
to ns-3-users
Hi all, I'm facing the same issue , plz how did you fixed it ???
Thanks

On Wednesday, January 17, 2018 at 4:32:19 PM UTC, ravi wrote:
Hello Sir,
             I tried to run the code hwits-nlos/vanet-routing-compare.cc, with parameter m_protocol(9) [i.e. CLWPR what I have understood]. But I get the following error

assert failed. cond="false", msg="Node could not be located on any road: X 1.84467e+16 Y 990.15", file=../src/mobility/model/waypoint-map.cc, line=407

Since I have no idea about how the road-topology is made from Manhattan Grid, I can't understand what’s going wrong. Can you please help?

Thanks.



On Fri, Jan 12, 2018 at 10:24 PM, Moyukh Laha <laha....@gmail.com> wrote:
Thanks a lot Sir. Interested to know about creating underlying map from realistic trace. I see a lot of .txt file in your customized ns-3.23/scratch with names like- **-visibility.txt, **roads.txt etc. Can't understand how you are creating those files with values. Can you suggest something so that I can understand these things and can generate those values..
Thanks!
 
Thanks!

To unsubscribe from this group and all its topics, send an email to ns-3-...@googlegroups.com.

To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/Lu30yg_xz3A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-...@googlegroups.com.

To post to this group, send email to ns-3-...@googlegroups.com.
Visit this group at https://groups.google.com/group/ns-3-users.
For more options, visit https://groups.google.com/d/optout.

--
Posting to this group should follow these guidelines https://www.nsnam.org/wiki/Ns-3-users-guidelines-for-posting
---
You received this message because you are subscribed to a topic in the Google Groups "ns-3-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/ns-3-users/Lu30yg_xz3A/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ns-3-...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages