LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   problem by modifying ns2 (https://www.linuxquestions.org/questions/linux-newbie-8/problem-by-modifying-ns2-698603/)

wzhang 01-20-2009 10:15 AM

problem by modifying ns2
 
I've installed ns2 under ubuntu and it runs very well.

But when I want to add a TCP BIC/CUBIC agent as following tips:


Quote:

--------------------------------------------------------------
INSTALLATION HOWTO for BIC and CUBIC for NS 2.6 v1
--------------------------------------------------------------

Please check the latest update at
http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC

--------------------------------------------------------------
BUILD NS2
--------------------------------------------------------------
1. Download the NS2 2.6 all-in-one official version.

2. Replace ns-2.6/tcp/tcp.h and ns-2.6/tcp/tcp.cc with
tcp/tcp.h and tcp/tcp.cc respectively.

3. Make NS2.

4. Install SACK-TS (See "Purpose of SACK-TS section" below).
Make sure you need to ("make clean" and "make") again here.

5. Make sure your environment variables (PATH, LD_LIBRARY_PATH,
and TCL_LIBRARY pathes are correct).

6. Go to script directory and run "./one_protocol" script.
This will run CUBIC protocol and saves html results (plots
and some statistics) under ns_result/intra_protocol directory.


--------------------------------------------------------------
Purpose of SACK-TS:

1. Reduce timeouts in TCP/SACK by recovering the retransmitted
packets using the Time-Stamp option.

2. Speed up simulation using a fast implementation of scoreboard

--------------------------------------------------------------
To extend NS2.26 to run SACK-TS, you need to do the following:

1. Copy all files under sack-ts-code directory into
ns-allinone-2.26/ns-2.26/tcp directory.

2. add the following lines to the list of object files, "OBJ_CC",
in file ns-allinone-2.26/ns-2.26/Makefile
tcp/SackList.o tcp/intDList.o tcp/hashtable.o\
tcp/tcp-sack-ts.o tcp/scoreboard-ts.o\

3. Make NS ("make clean", and then "make")

4. In your script, use the following line to create a connection
$ns create-connection TCP/SackTS $n1 TCPSink/Sack1/DelAck $n2 $class

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

Errors appear when make ns2 like following :
Quote:

tcp/tcp-reno.cc: In member function ‘virtual int RenoTcpAgent::window()’:
tcp/tcp-reno.cc:50: error: ‘frto_’ was not declared in this scope
tcp/tcp-reno.cc:53: error: ‘force_wnd’ was not declared in this scope
tcp/tcp-reno.cc: In member function ‘virtual void RenoTcpAgent::recv(Packet*, Handler*)’:
tcp/tcp-reno.cc:104: error: ‘recv_frto_helper’ was not declared in this scope
tcp/tcp-reno.cc:107: error: ‘CWND_ACTION_EXITED’ was not declared in this scope
tcp/tcp-reno.cc:120: error: ‘exitFastRetrans_’ was not declared in this scope
tcp/tcp-reno.cc:122: error: ‘exitFastRetrans_’ was not declared in this scope
tcp/tcp-reno.cc:142: error: ‘aggressive_maxburst_’ was not declared in this scope
tcp/tcp-reno.cc: In member function ‘virtual void RenoTcpAgent::dupack_action()’:
tcp/tcp-reno.cc:176: error: ‘bugfix_ss_’ was not declared in this scope
make: *** [tcp/tcp-reno.o] Error 1


how could I shoot these problems and correctly install the ns2 with BIC and CUBIC? I'm new of both linux and ns2 , looking urgently for help! thanks !

knudfl 01-23-2009 06:04 AM

Welcome to Linux Questions.

Please show the lines, where the errors begin +
the 5 lines above that.

This will sometimes tell more than those last lines.
....

wzhang 02-12-2009 01:51 PM

The BIC/CUBIC is developed for NS2.26. The problems are caused by different version.
There is a patch for NS2.31,the lastest version, which includes many TCP variants like BIC, CUBIC, FAST and so on.

http://labs.nec.com.cn/tcpeval.htm

now it's solved:)


All times are GMT -5. The time now is 07:59 PM.