Multipath port to ns-3.13

1,064 views
Skip to first unread message

Pablo Garrido Ortiz

unread,
Dec 19, 2012, 5:59:34 AM12/19/12
to mp...@googlegroups.com
Hi all,

I'm currently doing my B.D. Thesis with regard of multipath techniques over wireless channels. Namely, I've started using your mp-tcp solution suitable for the ns-3.6 version; however, I needed to carry out a port to a newer 3.13, because I'm going to link my work with other colleagues' stuff. Therefore, I've developed a port of the legacy version to a brand new one which has been tested over ns-3.13, and it actually works.

You can find attached a link to a patch to apply over a raw ns-3 (i.e. ns-allinone-3.13) and a tweaked mpTopology example (I had to modify several issues) to be included into the scratch folder so as to be appropriately tested. If you don't know how to apply the patch, just paste it into the ns-allinone folder and prompt the following command: "patch -p1 -i mptcp-ns-3.13.patch". It is worth remarking that you must clean the whole project because we are actually adding a new module and if you don't do this, it could lead to dependence problems (that is to say, the well-known tuple "./waf clean + ./waf configure + ./waf").

I'll be glad if you check if everything works fine, and I encourage you to feedback me with any issue or suggestion you want to share with me.

Regards,
Pablo

Here you have the links:

P.D.: Merry Christmas!

Amani

unread,
Jan 11, 2013, 8:14:44 AM1/11/13
to mp...@googlegroups.com
Hi Pablo and all group members
i'm new in mptcp and i am working now on ns-3.6... if you can help me i have a small question ..
how can i get the delay attribute from a PointToPoint Link??? their is no GetAttribute function for PointToPointHelper ???
my aim is to study the multipath protocol over wireless also ... so if we can share some info i will be very glad.
Thanks
Regards,
Amani.

Pablo Garrido Ortiz

unread,
Jan 15, 2013, 3:48:26 PM1/15/13
to mp...@googlegroups.com
Hi Amani,

I think you can not get the delay attribute directly, but you can try it this way, if you have the p2plink stored in a device or a node.


     Ptr <Ipv4L3Protocol> ipv4=node->GetObject <Ipv4L3Protocol>;
     Ptr <Ipv4Interface> interface=ipv4->GetInterface();
    Ptr <NetDevice> netDev = interface->GetDevice();
    Ptr <Channel> p2pLink=netDev->GetChannel();
    p2pLink->GetAttribute(string ("Delay"), delay);
   Time Value=delay.Get().GetSeconds();

I couldn't test it but they use it in mpTopology;

Other way, you could try it over the pointToPointHelper directly:

    PointToPointHelper p2pLink
    p2pLink.GetChannelAttribute("Delay", delay);
   Time Value=delay.Get().GetSeconds();

I hope you find it usefull.

Regards,
Pablo

Amani

unread,
Jan 17, 2013, 11:56:42 AM1/17/13
to mp...@googlegroups.com
Thanks for your replay
but  i still unable to use GetChannelAttribute for PointToPointHelper !!!
"  PointToPointHelper p2pLink
    p2pLink.GetChannelAttribute("Delay", delay); "
On Wednesday, 19 December 2012 10:59:34 UTC, Pablo Garrido Ortiz wrote:

Amani

unread,
Jan 23, 2013, 7:05:53 AM1/23/13
to mp...@googlegroups.com
Hi Pablo
i have a small question and maybe it is simple but i don't know how to do it.
i am testing ns-3.6 mptcp between 2 nodes using p2p links ... i am facing problems with RTT .. so, how can i fix the RTT for the 2 subflows used??? any suggestion
 
 
Regards,
Amani
 
 

On Wednesday, 19 December 2012 10:59:34 UTC, Pablo Garrido Ortiz wrote:

Ram Narayan Yadav

unread,
Feb 14, 2013, 2:18:09 AM2/14/13
to mp...@googlegroups.com
Hi mptcp group members please help
during buid I got the following errors:

---------------------------------------------------------------------------------------------------------
[root@nl17 ns-3-allinone]# ./build.py
# Build NSC
Entering directory `nsc'
 =>  /usr/bin/python scons.py
scons: Reading SConscript files ...
Checking target architecure...(cached) amd64, checking userland ...(cached) amd64
Checking for C library fl... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
Leaving directory `nsc'
# Build NS-3
Entering directory `./ns-3.6'
 =>  /usr/bin/python waf configure --with-regression-traces ../ns-3.6-ref-traces --with-pybindgen ../pybindgen --with-nsc ../nsc
Checking for program g++                 : ok /usr/bin/g++
Checking for program cpp                 : ok /usr/bin/cpp
Checking for program ar                  : ok /usr/bin/ar
Checking for program ranlib              : ok /usr/bin/ranlib
Checking for g++                         : ok 
Checking for program pkg-config          : ok /usr/bin/pkg-config
Checking for regression traces location  : ok ../ns-3.6-ref-traces (given)
Checking for -Wno-error=deprecated-declarations support : yes
Checking for -Wl,--soname=foo support                   : yes
Checking for header stdlib.h                            : ok
Checking for header signal.h                            : ok
Checking for header pthread.h                           : ok
Checking for high precision time implementation         : 128-bit integer
Checking for header stdint.h                            : ok
Checking for header inttypes.h                          : ok
Checking for header sys/inttypes.h                      : not found
Checking for library rt                                 : ok
Checking for header netpacket/packet.h                  : ok
Checking for header linux/if_tun.h                      : ok
Checking for pkg-config flags for GTK_CONFIG_STORE      : ok 
Checking for pkg-config flags for LIBXML2               : ok 
Checking for library sqlite3                            : ok
Checking for NSC location                               : ok ../nsc (given)
Checking for library dl                                 : ok
Checking for NSC supported architecture x86_64          : ok 
Checking for program python                             : ok /usr/bin/python
Checking for Python version >= 2.3                      : ok 2.6.7
Checking for library python2.6                          : ok
Checking for program python2.6-config                   : not found
Checking for program python-config-2.6                  : not found
Checking for header Python.h                            : ok
Checking for -fvisibility=hidden support                : yes
Checking for pybindgen location                         : ok ../pybindgen (given)
Checking for Python module pybindgen                    : ok 
Checking for pybindgen version                          : ok 0.12.0.703
Checking for Python module pygccxml                     : not found
Checking for program sudo                               : ok /usr/bin/sudo
Checking for program hg                                 : ok /usr/bin/hg
Checking for program valgrind                           : ok /usr/bin/valgrind
Checking for pkg-config flags for GSL                   : ok 
---- Summary of optional NS-3 features:
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : enabled
Tap Bridge                    : enabled
GtkConfigStore                : enabled
XmlIo                         : enabled
SQlite stats data output      : enabled
Network Simulation Cradle     : enabled
Python Bindings               : enabled
Python API Scanning Support   : not enabled (Missing 'pygccxml' Python module)
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Build examples and samples    : enabled
Static build                  : not enabled (option --enable-static not selected)
GNU Scientific Library (GSL)  : enabled
'configure' finished successfully (0.960s)
 =>  /usr/bin/python waf build
Waf: Entering directory `/home/student/repos/ns-3-allinone/ns-3.6/build'
'/home/student/repos/ns-3-allinone/ns-3.6/bindings/python/ns3/__init__.py' -> '/home/student/repos/ns-3-allinone/ns-3.6/build/debug/bindings/python/ns3/__init__.py'
[538/949] cxx: src/internet-stack/mp-tcp-typedefs.cc -> build/debug/src/internet-stack/mp-tcp-typedefs_1.o
[566/949] cxx: src/applications/packet-sink/mp-tcp-packet-sink.cc -> build/debug/src/applications/packet-sink/mp-tcp-packet-sink_1.o
[584/949] cxx: src/mobility/hierarchical-mobility-model.cc -> build/debug/src/mobility/hierarchical-mobility-model_1.o
[585/949] cxx: src/mobility/mobility-model.cc -> build/debug/src/mobility/mobility-model_1.o
In file included from ../src/applications/packet-sink/mp-tcp-packet-sink.h:9,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.cc:13:
debug/ns3/mp-tcp-socket-impl.h:12:26: error: tcp-typedefs.h: No such file or directory
debug/ns3/mp-tcp-socket-impl.h:15:27: error: rtt-estimator.h: No such file or directory
In file included from ../src/applications/packet-sink/mp-tcp-packet-sink.cc:13:
../src/applications/packet-sink/mp-tcp-packet-sink.h:10:30: error: ns3/tcp-typedefs.h: No such file or directory
In file included from ../src/internet-stack/mp-tcp-typedefs.h:5,
                 from ../src/internet-stack/mp-tcp-typedefs.cc:6:
../src/internet-stack/tcp-typedefs.h:97: error: ‘Packet’ was not declared in this scope
../src/internet-stack/tcp-typedefs.h:97: error: template argument 1 is invalid
../src/internet-stack/tcp-typedefs.h:97: error: template argument 2 is invalid
../src/internet-stack/tcp-typedefs.h:97: error: template argument 4 is invalid
../src/internet-stack/tcp-typedefs.h:97: error: invalid type in declaration before ‘;’ token
In file included from ../src/internet-stack/mp-tcp-typedefs.cc:6:
../src/internet-stack/mp-tcp-typedefs.h:72: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.h:72: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.h:126: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.h:126: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.h:199: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.h:199: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.h:200: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.h:200: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.cc:34: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.cc:34: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.cc: In constructor ‘ns3::DSNMapping::DSNMapping(uint8_t, uint64_t, uint16_t, uint32_t, uint32_t, int)’:
../src/internet-stack/mp-tcp-typedefs.cc:43: error: base operand of ‘->’ is not a pointer
../src/internet-stack/mp-tcp-typedefs.cc: At global scope:
../src/internet-stack/mp-tcp-typedefs.cc:143: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.cc:143: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.cc: In member function ‘int ns3::DataBuffer::CreatePacket(uint32_t)’:
../src/internet-stack/mp-tcp-typedefs.cc:161: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.cc:161: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.cc:161: error: invalid type in declaration before ‘=’ token
../src/internet-stack/mp-tcp-typedefs.cc:161: error: expected type-specifier before ‘Packet’
../src/internet-stack/mp-tcp-typedefs.cc:161: error: invalid conversion from ‘int*’ to ‘int’
../src/internet-stack/mp-tcp-typedefs.cc:161: error: expected ‘,’ or ‘;’ before ‘Packet’
../src/internet-stack/mp-tcp-typedefs.cc: At global scope:
../src/internet-stack/mp-tcp-typedefs.cc:169: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.cc:169: error: template argument 1 is invalid
../src/internet-stack/mp-tcp-typedefs.cc: In member function ‘uint32_t ns3::DataBuffer::ReadPacket(int, uint32_t)’:
../src/internet-stack/mp-tcp-typedefs.cc:182: error: base operand of ‘->’ is not a pointer
../src/internet-stack/mp-tcp-typedefs.cc: At global scope:
../src/internet-stack/mp-tcp-typedefs.cc:529: error: ‘Packet’ was not declared in this scope
../src/internet-stack/mp-tcp-typedefs.cc:529: error: template argument 1 is invalid
In file included from debug/ns3/mp-tcp-socket-impl.h:17,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.h:9,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.cc:13:
debug/ns3/tcp-socket-impl.h:79: error: ‘RttEstimator’ was not declared in this scope
debug/ns3/tcp-socket-impl.h:79: error: template argument 1 is invalid
debug/ns3/tcp-socket-impl.h:111: error: ‘Actions_t’ has not been declared
debug/ns3/tcp-socket-impl.h:112: error: ‘Actions_t’ has not been declared
debug/ns3/tcp-socket-impl.h:114: error: ‘Actions_t’ has not been declared
debug/ns3/tcp-socket-impl.h:117: error: ‘Actions_t’ does not name a type
debug/ns3/tcp-socket-impl.h:191: error: ‘States_t’ does not name a type
debug/ns3/tcp-socket-impl.h:208: error: ‘UnAckData_t’ does not name a type
debug/ns3/tcp-socket-impl.h:233: error: ‘RttEstimator’ was not declared in this scope
debug/ns3/tcp-socket-impl.h:233: error: template argument 1 is invalid
In file included from debug/ns3/mp-tcp-socket-impl.h:19,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.h:9,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.cc:13:
debug/ns3/mp-tcp-typedefs.h:102: error: expected class-name before ‘{’ token
debug/ns3/mp-tcp-typedefs.h:108: error: ‘States_t’ has not been declared
debug/ns3/mp-tcp-typedefs.h:109: error: ‘Events_t’ has not been declared
debug/ns3/mp-tcp-typedefs.h:110: error: ‘Actions_t’ has not been declared
debug/ns3/mp-tcp-typedefs.h:132: error: ‘States_t’ does not name a type
debug/ns3/mp-tcp-typedefs.h:153: error: ‘RttMeanDeviation’ was not declared in this scope
debug/ns3/mp-tcp-typedefs.h:153: error: template argument 1 is invalid
In file included from ../src/applications/packet-sink/mp-tcp-packet-sink.h:9,
                 from ../src/applications/packet-sink/mp-tcp-packet-sink.cc:13:
debug/ns3/mp-tcp-socket-impl.h:142: error: ‘States_t’ does not name a type
debug/ns3/mp-tcp-socket-impl.h:181: error: ‘Actions_t’ does not name a type
debug/ns3/mp-tcp-socket-impl.h:227: error: ‘Actions_t’ has not been declared
debug/ns3/mp-tcp-socket-impl.h:228: error: ‘Actions_t’ has not been declared
debug/ns3/mp-tcp-socket-impl.h:229: error: ‘Actions_t’ does not name a type
Waf: Leaving directory `/home/student/repos/ns-3-allinone/ns-3.6/build'
Build failed
 -> task failed (err #1):
    {task: cxx mp-tcp-typedefs.cc -> mp-tcp-typedefs_1.o}
 -> task failed (err #1):
    {task: cxx mp-tcp-packet-sink.cc -> mp-tcp-packet-sink_1.o}
Traceback (most recent call last):
  File "./build.py", line 216, in <module>
    sys.exit(main(sys.argv))
  File "./build.py", line 207, in main
    build_ns3(config, build_examples, build_tests, args, build_options)
  File "./build.py", line 100, in build_ns3
    run_command([sys.executable, "waf", "build"] + build_options)
  File "/home/student/repos/ns-3-allinone/util.py", line 24, in run_command
    raise CommandError("Command %r exited with code %i" % (argv, retval))
util.CommandError: Command ['/usr/bin/python', 'waf', 'build'] exited with code 1
[root@nl17 ns-3-allinone]#

please suggest me where I am doing mistake ?
-----------------------------------------------------------------------------------------------------------------------------

Pablo Garrido Ortiz

unread,
Feb 14, 2013, 4:30:59 AM2/14/13
to mp...@googlegroups.com
Hi, Ram

If you are using the patch to work with mptcp on version ns-3.13, you
have to download ns-3.13 and then apply the patch. But, if you are trying to
use mptcp on ns-3.6 i don't what the problem is.

Best,
Pablo.

Ram Narayan Yadav

unread,
Feb 15, 2013, 7:24:31 AM2/15/13
to mp...@googlegroups.com
Dear Pablo,
                 I build ns-3.13 then patch the given mptcp https://www.box.com/s/wl7285wii8vw062z3iq6 by "patch -p1 -i mptcp-ns-3.13.patch" command . After that I executed the myTopology.cc as "./waf --run scratch/mpTopology", but I got the following errors:
-------------------------------------------------------------------------------------------------------------------------------------------------
[root@nl15 ns-3.13]# ./waf --run scratch/mpTopology
Waf: Entering directory `/home/student/repos/ns-allinone-3.13/ns-3.13/build'
[ 636/1640] cxx: examples/tcp/tcp-star-server.cc -> build/examples/tcp/tcp-star-server.cc.4.o
[ 637/1640] cxx: examples/tcp/tcp-nsc-zoo.cc -> build/examples/tcp/tcp-nsc-zoo.cc.3.o
[ 638/1640] cxx: examples/tcp/tcp-large-transfer.cc -> build/examples/tcp/tcp-large-transfer.cc.1.o
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-star-server.cc:55:
./ns3/mp-tcp-packet-sink.h:9:36: error: ns3/mp-tcp-socket-base.h: No such file or directory
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-nsc-zoo.cc:34:
./ns3/mp-tcp-packet-sink.h:9:36: error: ns3/mp-tcp-socket-base.h: No such file or directory
[ 639/1640] cxx: examples/error-model/simple-error-model.cc -> build/examples/error-model/simple-error-model.cc.1.o
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-large-transfer.cc:40:
./ns3/mp-tcp-packet-sink.h:9:36: error: ns3/mp-tcp-socket-base.h: No such file or directory
In file included from ./ns3/applications-module.h:13,
                 from ../examples/error-model/simple-error-model.cc:42:
./ns3/mp-tcp-packet-sink.h:9:36: error: ns3/mp-tcp-socket-base.h: No such file or directory
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-large-transfer.cc:40:
./ns3/mp-tcp-packet-sink.h:28: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:28: error: template argument 1 is invalid
./ns3/mp-tcp-packet-sink.h:44: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:44: error: template argument 1 is invalid
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-nsc-zoo.cc:34:
./ns3/mp-tcp-packet-sink.h:28: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:28: error: template argument 1 is invalid
./ns3/mp-tcp-packet-sink.h:44: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:44: error: template argument 1 is invalid
In file included from ./ns3/applications-module.h:13,
                 from ../examples/tcp/tcp-star-server.cc:55:
./ns3/mp-tcp-packet-sink.h:28: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:28: error: template argument 1 is invalid
./ns3/mp-tcp-packet-sink.h:44: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:44: error: template argument 1 is invalid
In file included from ./ns3/applications-module.h:13,
                 from ../examples/error-model/simple-error-model.cc:42:
./ns3/mp-tcp-packet-sink.h:28: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:28: error: template argument 1 is invalid
./ns3/mp-tcp-packet-sink.h:44: error: ‘MpTcpSocketBase’ was not declared in this scope
./ns3/mp-tcp-packet-sink.h:44: error: template argument 1 is invalid
Waf: Leaving directory `/home/student/repos/ns-allinone-3.13/ns-3.13/build'
Build failed
 -> task failed (exit status 1):
    {task 45855568: cxx tcp-star-server.cc -> tcp-star-server.cc.4.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-Ibuild', '-I.', '-I.', '-I/home/student/repos/ns-allinone-3.13', '-I/usr/include/gtk-2.0', '-I/usr/lib64/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.6/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib64/python2.6/site-packages"', '-DHAVE_PYTHON_H=1', '-DENABLE_GSL', '../examples/tcp/tcp-star-server.cc', '-c', '-o', 'examples/tcp/tcp-star-server.cc.4.o']
 -> task failed (exit status 1):
    {task 45854800: cxx tcp-large-transfer.cc -> tcp-large-transfer.cc.1.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-Ibuild', '-I.', '-I.', '-I/home/student/repos/ns-allinone-3.13', '-I/usr/include/gtk-2.0', '-I/usr/lib64/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.6/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib64/python2.6/site-packages"', '-DHAVE_PYTHON_H=1', '-DENABLE_GSL', '../examples/tcp/tcp-large-transfer.cc', '-c', '-o', 'examples/tcp/tcp-large-transfer.cc.1.o']
 -> task failed (exit status 1):
    {task 45855824: cxx tcp-nsc-zoo.cc -> tcp-nsc-zoo.cc.3.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-Ibuild', '-I.', '-I.', '-I/home/student/repos/ns-allinone-3.13', '-I/usr/include/gtk-2.0', '-I/usr/lib64/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.6/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib64/python2.6/site-packages"', '-DHAVE_PYTHON_H=1', '-DENABLE_GSL', '../examples/tcp/tcp-nsc-zoo.cc', '-c', '-o', 'examples/tcp/tcp-nsc-zoo.cc.3.o']
 -> task failed (exit status 1):
    {task 45813136: cxx simple-error-model.cc -> simple-error-model.cc.1.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-pthread', '-Ibuild', '-I.', '-I.', '-I/home/student/repos/ns-allinone-3.13', '-I/usr/include/gtk-2.0', '-I/usr/lib64/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DSQLITE3=1', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.6/site-packages"', '-DPYTHONARCHDIR="/usr/local/lib64/python2.6/site-packages"', '-DHAVE_PYTHON_H=1', '-DENABLE_GSL', '../examples/error-model/simple-error-model.cc', '-c', '-o', 'examples/error-model/simple-error-model.cc.1.o']
[root@nl15 ns-3.13]#

Please reply me why these errors are coming ?

---------------------------------------------------------------------------------------------------------------------------------------------------------

On Thu, Feb 14, 2013 at 3:00 PM, Pablo Garrido Ortiz <monde.par...@gmail.com> wrote:
Boxbe This message is eligible for Automatic Cleanup! (monde.par...@gmail.com) Add cleanup rule | More info

Hi, Ram

If you are using the patch to work with mptcp on version ns-3.13, you
have to download ns-3.13 and then apply the patch. But, if you are trying to
use mptcp on ns-3.6 i don't what the problem is.

Best,
Pablo.

El jueves, 14 de febrero de 2013 08:18:09 UTC+1, Ram Narayan Yadav escribió:
--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes mptcp.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse mptcp+un...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
 
 




--
Ram Narayan Yadav
Indian Institute of TechnologyRajasthan (India)
M. Tech. (Information and Communication Technology)
Contact: +91-7877941995

Pablo Garrido Ortiz

unread,
Feb 18, 2013, 5:15:28 AM2/18/13
to mp...@googlegroups.com
HI Ram,

I've been trying to provoke the same error. And I think that you can solve it if you apply this commands:

-   ./waf clean
-   ./waf configure
-   Then you can run mpTopology. ( ./waf --run scratch/mpTopology)

You must clean the whole project because we are actually adding a new module and if you don't do this, it could lead to dependence problems.

Regards,
Pablo.

Amani

unread,
Feb 18, 2013, 6:47:12 AM2/18/13
to mp...@googlegroups.com
Dear Friends
 
Can i build ns 3.6 and 3.13 on the same machine ???? or ns3 and ns2 ???? and conflic i may face ??
Thanks
Amani.

Pablo Garrido Ortiz

unread,
Feb 19, 2013, 4:00:55 AM2/19/13
to mp...@googlegroups.com
HI Amani,

Yes, you can build ns-3.6 and 3.13 on the same machine and you even build two ns-3.6.
Only you have to build on different directories.

Regards,
Pablo

Ram Narayan Yadav

unread,
Feb 19, 2013, 4:11:53 AM2/19/13
to mp...@googlegroups.com
Hi Pablo,

Thank you  for reply , I applied the same commands but still I am getting the same errors. If you have any update please tell me .
-----------------------------------------------------------------------------------------------

Amani

unread,
Feb 19, 2013, 11:02:44 AM2/19/13
to mp...@googlegroups.com
Hi Ram
 
in my best understanding , you have to go to the error line by line and fix the error in specified file .. start from the beginning ... for example looking to your error that you poseted before:
 
"./ns3/mp-tcp-packet-sink.h:9:36: error: ns3/mp-tcp-socket-base.h: No such file or directory"
open file mp-tcp-packet-sink.h  line # 9 the error says no such file or directory which is the include line (ns3/mp-tcp-socket-base.h)
--> look to this file try to alocate it  or if it didnot exist then hide the include line for this file .... then build the project again ... does the error disapeare ????
 
 
i know it is along solution but i did the same thing when i install ns3.6 before. .... However if any body has another solution please let us share it.
 
Regards,
Amani
 

On Wednesday, 19 December 2012 10:59:34 UTC, Pablo Garrido Ortiz wrote:

Amani

unread,
Feb 20, 2013, 9:54:34 AM2/20/13
to mp...@googlegroups.com
Hi Pablo
i run the patch file for mptcp protocol under ns-3.13 but i got the following error ... i clean the rebuild again but still the same error
[1588/1800] cxxprogram: build/src/topology-read/examples/topology-example-sim.cc.1.o -> build/src/topology-read/examples/topology-read
[1589/1800] cxxprogram: build/src/internet/examples/main-simple.cc.1.o -> build/src/internet/examples/main-simple
./libns3-applications.so: undefined reference to `typeinfo for ns3::MpTcpSocketBase'
./libns3-applications.so: undefined reference to `.ns3::MpTcpSocketBase::allocateRecvingBuffer(unsigned int)'/libns3-applications.so: undefined reference to `typeinfo for ns3::MpTcpSocketBase'
.
/libns3-applications.so: undefined reference. to /`ns3::MpTcpSocketBase::allocateRecvingBuffer(unsigned int)'
./libns3libns3-applications.so-: undefinedapplications.so reference: to  `undefinedns3::MpTcpSocketBase::SetunOrdBufMaxSize(unsigned int)'
.reference/libns3 -applications.so: undefinedto reference  to` `ns3::MpTcpSocketBase::MpTcpSocketBase(ns3::Ptr<ns3::Node>)'
./libns3-applications.sons3::MpTcpSocketBase::SetunOrdBufMaxSize(unsigned int): undefined reference to `'ns3::MpTcpSocketBase::SetPacketReorderAlgo(ns3::PacketReorder_t)'
collect2:
ld returned 1 exit status
./libns3-applications.so: undefined reference to `ns3::MpTcpSocketBase::MpTcpSocketBase(ns3::Ptr<ns3::Node>)'
./libns3-applications.so: undefined reference to `ns3::MpTcpSocketBase::SetPacketReorderAlgo(ns3::PacketReorder_t)'
collect2: ld returned 1 exit status
Waf: Leaving directory `/home/eeaaya/ns-allinone-3.13/ns-3.13/build'

Build failed
 -> task failed (exit status 1):
    {task 144765676: cxxprogram topology-example-sim.cc.1.o -> topology-read}
['/usr/bin/g++', 'src/topology-read/examples/topology-example-sim.cc.1.o', '-o', '/home/eeaaya/ns-allinone-3.13/ns-3.13/build/src/topology-read/examples/topology-read', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-lns3-topology-read', '-lns3-nix-vector-routing', '-lns3-applications', '-lns3-internet', '-lns3-bridge', '-lns3-point-to-point', '-lns3-mpi', '-lns3-config-store', '-lns3-tools', '-lns3-network', '-lns3-core', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-ldl', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-pthread', '-pthread']

 -> task failed (exit status 1):
    {task 143804428: cxxprogram main-simple.cc.1.o -> main-simple}
['/usr/bin/g++', 'src/internet/examples/main-simple.cc.1.o', '-o', '/home/eeaaya/ns-allinone-3.13/ns-3.13/build/src/internet/examples/main-simple', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-Wl,--no-as-needed', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-L.', '-lns3-applications', '-lns3-internet', '-lns3-bridge', '-lns3-mpi', '-lns3-config-store', '-lns3-tools', '-lns3-network', '-lns3-core', '-lrt', '-lgsl', '-lgslcblas', '-lm', '-ldl', '-lgtk-x11-2.0', '-lgdk-x11-2.0', '-latk-1.0', '-lgio-2.0', '-lpangoft2-1.0', '-lpangocairo-1.0', '-lgdk_pixbuf-2.0', '-lcairo', '-lpango-1.0', '-lfreetype', '-lfontconfig', '-lgobject-2.0', '-lglib-2.0', '-lxml2', '-pthread', '-pthread']




Any idea??
Regards
Amani

Amani

unread,
Feb 22, 2013, 7:02:58 AM2/22/13
to mp...@googlegroups.com
Hi Pablo
 
if you checked
Report Two Errors links under mptco group .. some modifications are suggested to the available window function in mp-tcp-socket-impl.cc file ... did you make these changes in ns-3.13 or not ??? because i did not find any replay on this issue ??
Regards,
Amani

 

 
 

On Wednesday, 19 December 2012 10:59:34 UTC, Pablo Garrido Ortiz wrote:

Pablo Garrido Ortiz

unread,
Feb 25, 2013, 2:32:56 PM2/25/13
to mp...@googlegroups.com
Hi,

I try to figure out why you have that problem, but i don't find a solution.

I'm going to describe the steps I follow to port mptcp on ns-3.13. If you are making something different maybe that is the problem.

   -- Download ns-3.13 -> http://www.nsnam.org/ns-3-13/
   -- Extract and get ns-allinone-3.13 folder.
   -- Copy the patch https://www.box.com/s/wl7285wii8vw062z3iq6 on ns-allinone-3.13 folder.
   -- Then apply the patch by the command (I have ns-allinone-3.13 on Desktop):

               @ubuntu:~$ cd Desktop/ns-allinone-3.13
               @ubuntu:~/Desktop/ns-allinone-3.13$ patch -p1 -i mptcp-ns-3.13.patch


    -- The result is:

               patching file ns-3.13/src/applications/helper/mp-tcp-packet-sink-helper.cc
               patching file ns-3.13/src/applications/helper/mp-tcp-packet-sink-helper.h
               patching file ns-3.13/src/applications/model/mp-tcp-packet-sink.cc
               patching file ns-3.13/src/applications/model/mp-tcp-packet-sink.h
               patching file ns-3.13/src/applications/wscript
               patching file ns-3.13/src/internet/helper/internet-stack-helper.cc
               patching file ns-3.13/src/internet/helper/internet-stack-helper.h
               patching file ns-3.13/src/internet/model/ipv4-end-point.cc
               patching file ns-3.13/src/internet/model/ipv4-l3-protocol.cc
               patching file ns-3.13/src/internet/model/nsc-tcp-l4-protocol.cc
               patching file ns-3.13/src/internet/model/rtt-estimator.cc
               patching file ns-3.13/src/internet/model/rtt-estimator.h
               patching file ns-3.13/src/internet/model/tcp-l4-protocol.cc
               patching file ns-3.13/src/internet/model/tcp-l4-protocol.h
               patching file ns-3.13/src/internet/model/tcp-typedefs.h
               patching file ns-3.13/src/internet/model/udp-l4-protocol.cc
               patching file ns-3.13/src/internet/wscript
               patching file ns-3.13/src/mptcp/helper/mp-internet-stack-helper.cc
               patching file ns-3.13/src/mptcp/helper/mp-internet-stack-helper.h
               patching file ns-3.13/src/mptcp/model/mp-tcp-header.cc
               patching file ns-3.13/src/mptcp/model/mp-tcp-header.h
               patching file ns-3.13/src/mptcp/model/mp-tcp-l4-protocol.cc
               patching file ns-3.13/src/mptcp/model/mp-tcp-l4-protocol.h
               patching file ns-3.13/src/mptcp/model/mp-tcp-socket-base.cc
               patching file ns-3.13/src/mptcp/model/mp-tcp-socket-base.h
               patching file ns-3.13/src/mptcp/model/mp-tcp-typedefs.cc
               patching file ns-3.13/src/mptcp/model/mp-tcp-typedefs.h
               patching file ns-3.13/src/mptcp/waf
               patching file ns-3.13/src/mptcp/wscript


  --Build the system:
              
               @ubuntu:~/Desktop/ns-allinone-3.13$ ./build.py

  --Copy mpTopology.cc https://www.box.com/s/wl7285wii8vw062z3iq6 on ns-3.13/scracth folder
  --Then run mpTopolgy:

                @ubuntu:~/Desktop/ns-allinone-3.13$ cd ns-3.13/
                @ubuntu:~/Desktop/ns-allinone-3.13/ns-3.13$ ./waf --run "scratch/mpTopology"

You should check you have followed this steps, maybe you can figure out what is different between both and find the mistake.
If you can't find the mistake, we can try to exchange the system otherwise.

Regards,
Pablo

Pablo Garrido Ortiz

unread,
Feb 25, 2013, 2:34:36 PM2/25/13
to mp...@googlegroups.com
Hi Amani,

Sorry, but I don't make these changes in ns-3.13.

Regards,
Pablo

Pablo Garrido Ortiz

unread,
Feb 26, 2013, 4:08:02 AM2/26/13
to mp...@googlegroups.com
You can also check your gcc version:

   --hydra@hydra:~$ gcc --version

My version is 4.4.3 if you use another version maybe that is the problem.

Amani

unread,
Feb 26, 2013, 7:16:14 AM2/26/13
to mp...@googlegroups.com
Thanks for your help .. i did it and it is working fine now ..
it works with this command as you mentioned before
./waf clean
./waf configure
./waf
 
 
 However it did not work with:
./waf clean
./waf -d debug --enable-examples --enable-tests configure
./waf
 
when i run some simple files, i got similar results that i have from ns-3.6.

Ram Narayan Yadav

unread,
Mar 12, 2013, 5:00:28 AM3/12/13
to mp...@googlegroups.com
Dear pablo,
                Thanking you very much for uploading mptcp patch for ns-3.13 and mpTopology.cc that is working . I want to modify the code for data distribution algorithms. In current version of mptcp for ns-3.13 this is Round Robin , I need to change it according to minimum RTT and for that I wrote the following code :

uint8_t
MpTcpSocketBase::getSubflowToUse ()
{
    NS_LOG_FUNCTION_NOARGS ();
    uint8_t nextSubFlow = 0;
    switch ( m_distribAlgo )
    {
        case Round_Robin :
                {
                cout << " Ram narayan you are in Round robin " << endl;
            nextSubFlow = (m_lastUsedsFlowIdx + 1) % subflows.size();           
                }
            break;

        case min_Rtt :  //Ram narayan yadav
          {
            MpTcpSubFlow *sFlow;  
           int8_t m_lastUsedFlowIdx = 0;
            sFlow = subflows[m_lastUsedFlowIdx];
            Time min_Rtt = Time(sFlow->rtt->m_currentEstimatedRtt);
            m_lastUsedFlowIdx += 1;
            uint8_t i;
                cout << " Ram narayan you are in min_Rtt " << endl;
            for(i=2;i<subflows.size();i++)
               {
                sFlow = subflows[m_lastUsedFlowIdx];
                if(min_Rtt > Time(sFlow->rtt->m_currentEstimatedRtt))
                  {
                   min_Rtt = Time(sFlow->rtt->m_currentEstimatedRtt);
                   nextSubFlow = (m_lastUsedFlowIdx) % subflows.size();
                   m_lastUsedFlowIdx+=1;
                   //cout << " Ram narayan you are in min_Rtt " << endl;    
                  }
                else
                  {
                   m_lastUsedFlowIdx+=1;
                  }      
               }
          }
            break;
        default:
            break;
    }
    return nextSubFlow;
}

  I used your mpTopology.cc to test the code but it is using only subflow 0 . Please can you suggest me what is wrong .

Thanking you
Ram narayan
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

On Tue, Feb 26, 2013 at 1:02 AM, Pablo Garrido Ortiz <monde.par...@gmail.com> wrote:
Boxbe This message is eligible for Automatic Cleanup! (monde.par...@gmail.com) Add cleanup rule | More info

Hi,

Regards,
Pablo

Pablo Garrido Ortiz

unread,
Mar 14, 2013, 3:46:21 PM3/14/13
to mp...@googlegroups.com
Hi Ram,

I think that your problem is in this line:

             for(i=2;i<subflows.size();i++)

I'll make some changes and i think that it works, but I'm not really sure.

case min_Rtt :  //Ram narayan yadav
{
MpTcpSubFlow *sFlow;
int8_t m_lastUsedFlowIdx = 0;
sFlow = subflows[m_lastUsedFlowIdx];
Time min_Rtt = Time (sFlow->rtt->GetCurrentEstimate());
nextSubFlow = (m_lastUsedFlowIdx) % subflows.size();

for(uint8_t i=0;i<subflows.size();i++)
{
sFlow = subflows[m_lastUsedFlowIdx];
NS_LOG_UNCOND("RTT SUBFLOW "<<int(i)<<" : "<<sFlow->rtt->GetCurrentEstimate().GetSeconds());
if(min_Rtt > Time (sFlow->rtt->GetCurrentEstimate()))
{
min_Rtt = Time (sFlow->rtt->GetCurrentEstimate());
nextSubFlow = (m_lastUsedFlowIdx) % subflows.size();
m_lastUsedFlowIdx++;
//cout << " Ram narayan you are in min_Rtt " << endl;
}
else
{
m_lastUsedFlowIdx++;
}
}

Regards,
Pablo

Yongsen Ma

unread,
Mar 17, 2013, 11:25:25 PM3/17/13
to mp...@googlegroups.com
Hello Pablo

I followed your building steps, but I get the following errors after ./build.py

mayongsen@SJTU:~/ns-allinone-3.13$ ./build.py
# Build NSC
Entering directory `nsc-0.5.2'
 =>  /usr/bin/python scons.py
scons: Reading SConscript files ...
Checking target architecure...(cached) x86
Checking for C library fl... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
Leaving directory `nsc-0.5.2'
# Build NS-3
Entering directory `./ns-3.13'
 =>  /usr/bin/python waf configure --with-pybindgen ../pybindgen-0.15.0.795 --with-nsc ../nsc-0.5.2
Setting top to                           : /home/mayongsen/ns-allinone-3.13/ns-3.13 
Setting out to                           : /home/mayongsen/ns-allinone-3.13/ns-3.13/build 
Checking for 'gcc' (c compiler)          : /usr/bin/gcc 
Checking for 'g++' (c++ compiler)        : /usr/bin/g++ 
Checking for program pkg-config          : /usr/bin/pkg-config 
Checking for compilation flag -Wl,--soname=foo... support : ok 
Checking for click location                               : not found 
Checking for pkg-config flags for GTK_CONFIG_STORE        : ok 
Checking for pkg-config flags for LIBXML2                 : not found 
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml-2.0' found
Checking for type uint128_t                               : not found 
Checking for type __uint128_t                             : not found 
Checking high precision time implementation               : cairo 128-bit integer 
Checking for header stdint.h                              : yes 
Checking for header inttypes.h                            : yes 
Checking for header sys/inttypes.h                        : not found 
Checking for header sys/types.h                           : yes 
Checking for header sys/stat.h                            : yes 
Checking for header dirent.h                              : yes 
Checking for header stdlib.h                              : yes 
Checking for header signal.h                              : yes 
Checking for header pthread.h                             : yes 
Checking for header stdint.h                              : yes 
Checking for header inttypes.h                            : yes 
Checking for header sys/inttypes.h                        : not found 
Checking for library rt                                   : yes 
Checking for header netpacket/packet.h                    : yes 
Checking for NSC location                                 : ../nsc-0.5.2 (given) 
Checking for library dl                                   : yes 
Checking for NSC supported architecture i686              : ok 
Checking for header sys/socket.h                          : yes 
Checking for header netinet/in.h                          : yes 
Checking boost includes                                   : not found 
Checking for library sqlite3                              : not found 
Checking for pkg-config flags for SQLITE3                 : not found 
Package sqlite3 was not found in the pkg-config search path.
Perhaps you should add the directory containing `sqlite3.pc'
to the PKG_CONFIG_PATH environment variable
No package 'sqlite3' found
Checking for header linux/if_tun.h                        : yes 
Checking for program python                               : /usr/bin/python 
Checking for python version                               : (2, 7, 3, 'final', 0) 
Checking for library python2.7 in LIBDIR                  : not found 
Checking for library python2.7 in python_LIBPL            : yes 
Checking for program python2.7-config,python-config-2.7,python2.7m-config : not found 
Checking for header Python.h                                              : Could not find the python development headers 
Checking for []                                                           : not found 
Checking for program sudo                                                 : /usr/bin/sudo 
Checking for program valgrind                                             : not found 
Checking for pkg-config flags for GSL                                     : not found 
Package gsl was not found in the pkg-config search path.
Perhaps you should add the directory containing `gsl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gsl' found
Checking for compilation flag -Wno-error=deprecated-d... support          : ok 
Checking for compilation flag -Wno-error=deprecated-d... support          : ok 
Checking for compilation flag -fstrict-aliasing... support                : ok 
Checking for compilation flag -fstrict-aliasing... support                : ok 
Checking for compilation flag -Wstrict-aliasing... support                : ok 
Checking for compilation flag -Wstrict-aliasing... support                : ok 
Checking for program doxygen                                              : not found 
---- Summary of optional NS-3 features:
NS-3 Click Integration        : not enabled (nsclick not enabled (see option --with-nsclick))
GtkConfigStore                : enabled
XmlIo                         : not enabled (library 'libxml-2.0 >= 2.7' not found)
Threading Primitives          : enabled
Real Time Simulator           : enabled
Emulated Net Device           : enabled
Network Simulation Cradle     : enabled
MPI Support                   : not enabled (option --enable-mpi not selected)
NS-3 OpenFlow Integration     : not enabled (Required boost libraries not found)
SQlite stats data output      : not enabled (library 'sqlite3' not found)
Tap Bridge                    : enabled
Python Bindings               : not enabled (The configuration failed
(complete log in /home/mayongsen/ns-allinone-3.13/ns-3.13/build/config.log))
Use sudo to set suid bit      : not enabled (option --enable-sudo not selected)
Build tests                   : not enabled (defaults to disabled)
Build examples                : not enabled (defaults to disabled)
GNU Scientific Library (GSL)  : not enabled (GSL not found)
'configure' finished successfully (3.513s)
 =>  /usr/bin/python waf build
Waf: Entering directory `/home/mayongsen/ns-allinone-3.13/ns-3.13/build'
[ 597/1309] cxx: scratch/scratch-simulator.cc -> build/scratch/scratch-simulator.cc.1.o
[ 598/1309] cxx: utils/test-runner.cc -> build/utils/test-runner.cc.1.o
[ 599/1309] cxx: utils/bench-simulator.cc -> build/utils/bench-simulator.cc.2.o
[ 602/1309] cxx: utils/bench-packets.cc -> build/utils/bench-packets.cc.3.o
...
...
...
...
[ 711/1309] cxx: src/mobility/helper/ns2-mobility-helper.cc -> build/src/mobility/helper/ns2-mobility-helper.cc.1.o
../src/mptcp/model/mp-tcp-socket-base.cc: In member function ‘ns3::Actions_t ns3::MpTcpSocketBase::ProcessHeaderOptions(uint8_t, ns3::Ptr<ns3::Packet>, uint32_t*, ns3::MpTcpHeader)’:
../src/mptcp/model/mp-tcp-socket-base.cc:1438:8: error: variable ‘initSubFlow’ set but not used [-Werror=unused-but-set-variable]
cc1plus: all warnings being treated as errors
Waf: Leaving directory `/home/mayongsen/ns-allinone-3.13/ns-3.13/build'
Build failed
 -> task failed (exit status 1): 
{task 171176108: cxx mp-tcp-socket-base.cc -> mp-tcp-socket-base.cc.1.o}
['/usr/bin/g++', '-O0', '-ggdb', '-g3', '-Wall', '-Werror', '-Wno-error=deprecated-declarations', '-fstrict-aliasing', '-Wstrict-aliasing', '-fPIC', '-pthread', '-pthread', '-Ibuild', '-I.', '-I/usr/include/gtk-2.0', '-I/usr/lib/i386-linux-gnu/gtk-2.0/include', '-I/usr/include/atk-1.0', '-I/usr/include/cairo', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/glib-2.0', '-I/usr/lib/i386-linux-gnu/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.7/dist-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python2.7/dist-packages"', '../src/mptcp/model/mp-tcp-socket-base.cc', '-c', '-o', 'src/mptcp/model/mp-tcp-socket-base.cc.1.o']
Traceback (most recent call last):
  File "./build.py", line 147, in <module>
    sys.exit(main(sys.argv))
  File "./build.py", line 138, in main
    build_ns3(config, build_examples, build_tests, args, build_options)
  File "./build.py", line 61, in build_ns3
    run_command([sys.executable, "waf", "build"] + build_options)
  File "/home/mayongsen/ns-allinone-3.13/util.py", line 24, in run_command
    raise CommandError("Command %r exited with code %i" % (argv, retval))
util.CommandError: Command ['/usr/bin/python', 'waf', 'build'] exited with code 1

By the way, the gcc version is 4.6.3. Could you tell me where is the problem please? Thanks very much in advance.

Regards,
Yongsen

Pablo Garrido Ortiz

unread,
Mar 18, 2013, 7:58:51 AM3/18/13
to mp...@googlegroups.com
HI Yongsen,

The problem is with the version of gcc. I think you can fix the problem with the following commands:

$ export CXXFLAGS=-Wno-error
$ export CXXFLAGS=-fpermissive' 
$ ./waf configure 

Otherwise, you can change the version of gcc to 4.4

Regards,
Pablo.

Ram Narayan Yadav

unread,
Mar 21, 2013, 3:05:50 AM3/21/13
to mp...@googlegroups.com
Dear Pablo,
                  I have some problem regarding code of mptcp that you have implemented on ns-3.13.
   1. When you are using "bool MpTcpSocketBase::SendPendingData ()" method to send the packet on the subflow which has available window. After " m_mptcp->SendPacket (pkt, header, sAddr, dAddr) " instruction ,it will send the packet to specified destination address and port . But where you are updating pointer for data buffer in order to fetch next data to next packet.

Thanking you
-----------------------------------------------------------------------------------------------------------------------------------------------

On Fri, Mar 15, 2013 at 1:16 AM, Pablo Garrido Ortiz <monde.par...@gmail.com> wrote:
Boxbe This message is eligible for Automatic Cleanup! (monde.par...@gmail.com) Add cleanup rule | More info

Hi Ram,

I think that your problem is in this line:

             for(i=2;i<subflows.size();i++)

I'll make some changes and i think that it works, but I'm not really sure.

case min_Rtt :  //Ram narayan yadav
{
MpTcpSubFlow *sFlow;
int8_t m_lastUsedFlowIdx = 0;
sFlow = subflows[m_lastUsedFlowIdx];
Time min_Rtt = Time (sFlow->rtt->GetCurrentEstimate());
nextSubFlow = (m_lastUsedFlowIdx) % subflows.size();

for(uint8_t i=0;i<subflows.size();i++)
{
sFlow = subflows[m_lastUsedFlowIdx];
NS_LOG_UNCOND("RTT SUBFLOW "<<int(i)<<" : "<<sFlow->rtt->GetCurrentEstimate().GetSeconds());
if(min_Rtt > Time (sFlow->rtt->GetCurrentEstimate()))
{
min_Rtt = Time (sFlow->rtt->GetCurrentEstimate());
nextSubFlow = (m_lastUsedFlowIdx) % subflows.size();
m_lastUsedFlowIdx++;
//cout << " Ram narayan you are in min_Rtt " << endl;
}
else
{
m_lastUsedFlowIdx++;
}
}

Regards,
Pablo

Ram Narayan Yadav

unread,
Mar 21, 2013, 8:44:11 AM3/21/13
to mp...@googlegroups.com
And please give me some details about how sending buffer is implemented and when new data is added to the sending buffer.Please reply it would help me greatly .

顧哲宇

unread,
May 1, 2013, 11:48:15 AM5/1/13
to mp...@googlegroups.com
HI Pablo Garrido Ortiz,
I want to ask why I use the wireshark to catch the packet from the prueba-0-1.pcap it produced and there are something wrong with the ack and the out-of order from mptcp here.
 
Can you help me for this situation?
Thanks.

在 2012年12月19日星期三UTC+8下午6时59分34秒,Pablo Garrido Ortiz写道:

Amani

unread,
Jan 16, 2014, 10:44:07 AM1/16/14
to mp...@googlegroups.com, monde.par...@gmail.com
Hiii
 
i am currently trying to install MPTCP module on to ns-3.17.  i am trying to do your patch command manually however i got the following error while building ns3 .
 
 
Traceback (most recent call last):
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Scripting.py", line 97, in waf_entry_point
run_commands()
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Scripting.py", line 153, in run_commands
ctx=run_command(cmd_name)
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Scripting.py", line 146, in run_command
ctx.execute()
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Scripting.py", line 351, in execute
return execute_method(self)
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Build.py", line 106, in execute
self.execute_build()
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Build.py", line 109, in execute_build
self.recurse([self.run_dir])
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Context.py", line 128, in recurse
user_function(self)
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/wscript", line 705, in build
bld.recurse('src')
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Context.py", line 128, in recurse
user_function(self)
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/src/wscript", line 316, in build
bld.recurse(list(all_modules))
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/.waf-1.7.10-4f6df1d839dc35640834d81573053140/waflib/Context.py", line 128, in recurse
user_function(self)
File "/home/eeaaya/ns-allinone-3.17/ns-3.17/src/mptcp/wscript", line 17, in build
headers = bld.new_task_gen(features=['ns3header'])
AttributeError: 'BuildContext' object has no attribute 'new_task_gen'
 
 
 
Any idea ????

Maroua Lrit

unread,
Dec 1, 2015, 8:34:27 AM12/1/15
to mptcp, monde.par...@gmail.com

I got these errors trying to install mptcp in ns-3.13 from github (https://github.com/dgomezunican/multipath-ns3.13
I get that the error is in wscript file but I don't know if I should modify it or how to.
Can you help me with some indications

Thank you




maroua@pc-HP-Compaq-Pro-6300-SFF:~/ns3-mptcp/ns-3.13$ ./waf --run mptcp  --vis
invalid lock file in /home/maroua/ns3-mptcp/ns-3.13

Traceback (most recent call last):
  File "./waf", line 161, in <module>
    Scripting.waf_entry_point(cwd, VERSION, wafdir)
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Scripting.py", line 94, in waf_entry_point
    parse_options()
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Scripting.py", line 124, in parse_options
    Context.create_context('options').execute()
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Options.py", line 129, in execute
    super(OptionsContext,self).execute()
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Context.py", line 87, in execute
    self.recurse([os.path.dirname(g_module.root_path)])
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Context.py", line 127, in recurse
    user_function(self)
  File "/home/maroua/ns3-mptcp/ns-3.13/wscript", line 224, in options
    opt.sub_options('bindings/python')
  File "/home/maroua/ns3-mptcp/ns-3.13/.waf-1.6.7-0a94702c61504c487a251b8d0a04ca9a/waflib/Context.py", line 133, in recurse
    raise Errors.WafError('No wscript file in directory %s'%d)
waflib.Errors.WafError: No wscript file in directory /home/maroua/ns3-mptcp/ns-3.13/bindings/python


hasan knas

unread,
Feb 23, 2016, 4:18:29 PM2/23/16
to mptcp, monde.par...@gmail.com
hi pablo
every time i run ./waf command i got an error (but not always the same error)



[ 670/1300] cxx: src/tap-bridge/model/tap-bridge.cc -> build/src/tap-bridge/model/tap-bridge.cc.1.o
../src/tap-bridge/model/tap-bridge.cc: In member function ‘virtual ns3::FdReader::Data ns3::TapBridgeFdReader::DoRead()’:
../src/tap-bridge/model/tap-bridge.cc:77:44: error: ‘read’ was not declared in this scope
   ssize_t len = read (m_fd, buf, bufferSize);
                                            ^
../src/tap-bridge/model/tap-bridge.cc: In member function ‘void ns3::TapBridge::StopTapDevice()’:
../src/tap-bridge/model/tap-bridge.cc:281:20: error: ‘close’ was not declared in this scope
       close (m_sock);
                    ^
../src/tap-bridge/model/tap-bridge.cc: In member function ‘void ns3::TapBridge::CreateTap()’:
../src/tap-bridge/model/tap-bridge.cc:388:15: error: ‘::fork’ has not been declared
   pid_t pid = ::fork ();
               ^
../src/tap-bridge/model/tap-bridge.cc:527:16: error: ‘::execlp’ has not been declared
       status = ::execlp ("tap-creator",
                ^
../src/tap-bridge/model/tap-bridge.cc: In member function ‘bool ns3::TapBridge::ReceiveFromBridgedDevice(ns3::Ptr<ns3::NetDevice>, ns3::Ptr<const ns3::Packet>, uint16_t, const ns3::Address&, const ns3::Address&, ns3::NetDevice::PacketType)’:
../src/tap-bridge/model/tap-bridge.cc:991:71: error: ‘write’ was not declared in this scope
   uint32_t bytesWritten = write (m_sock, m_packetBuffer, p->GetSize ());
                                                                       ^
Waf: Leaving directory `/home/hk/Desktop/ns-allinone-3.13/ns-3.13/build'

Build failed
 -> task failed (exit status 1):
    {task 139970270964368: cxx tap-bridge.cc -> tap-bridge.cc.1.o}
['/usr/bin/g++', '-fpermissive', '-fPIC', '-pthread', '-Ibuild', '-I.', '-DNS3_ASSERT_ENABLE', '-DNS3_LOG_ENABLE', '-DHAVE_IF_TUN_H=1', '-DPYTHONDIR="/usr/local/lib/python2.7/dist-packages"', '-DPYTHONARCHDIR="/usr/local/lib/python2.7/dist-packages"', '../src/tap-bridge/model/tap-bridge.cc', '-c', '-o', 'src/tap-bridge/model/tap-bridge.cc.1.o']



could you help me please
Message has been deleted

hasan knas

unread,
Feb 24, 2016, 5:46:18 PM2/24/16
to mptcp, monde.par...@gmail.com


hi pablo

i'm really confused because i did every thing like you said and every time i get a different error
but i notice that all error are :
1- readlink was not declared in this scope
2-write was not declared in this scope
3- close was not declared in this scope

i'm using UBUNTU 14.04  and ns-3 3.13
 gcc 4.8.4   python 2.7.6

i attached a copy of the error i'm getting
thank you for helping


error.txt

左剑

unread,
Apr 5, 2016, 11:33:24 PM4/5/16
to mptcp, monde.par...@gmail.com
Hi Pablo,

In ns-3.6, there are several questions (you can see these in 《Multipath-TCP in ns-3》):
1) Only a single client could connect to an MPTCP server;
2) the model did not support nodes running TCP and MPTCP in parallel;
3) did not support MPTCP tokens;
4)several other simplifications (e.g. the MPTCP connection and its subflows do not follow standard TCP state transitions) were present.

So, have you resolved these questions in your patch? 

Regard,
Zuo



在 2012年12月19日星期三 UTC+8下午6:59:34,Pablo Garrido Ortiz写道:

hasan knas

unread,
Apr 30, 2016, 7:12:06 PM4/30/16
to mptcp, monde.par...@gmail.com
hello again
some times when i run the simulation i got this error
Command ['/home/hk/Desktop/ns-allinone-3.13/ns-3.13/build/scratch/mp'] terminated with signal SIGSEGV. Run it under a debugger to get more information (./waf --run <program> --command-template="gdb --args %s <args>").

any body have the problem

hasan knas

unread,
Apr 30, 2016, 7:22:26 PM4/30/16
to mptcp, monde.par...@gmail.com
any body have this problem

and som times i get
aborted. msg="Can't Parse Time 9.1746e-05s", file=../src/core/model/time.cc, line=74
terminate called without an active exception
Reply all
Reply to author
Forward
0 new messages