Adding a new module to NS2

advertisement
Including Your Modules into NS 2
by Teerawat Issariyakul
http://www.ns2ultimate.com
March 2010
http://www.ns2ultimate.com
1
Assumptions and Objectives


You have developed NS2 modules in one or
more of the following 3 file types:
File type
C++ file
Example
myfile.cc
Header file
Tcl file
myfile.h
myfile.tcl
What you would like to do is to
incorporate these files into NS2
http://www.ns2ultimate.com
2
Key step
1.
Go to your ns home directory (e.g.,
nsallinone-2.35-RC3/ns-2.35).
Look for a file called “Makefile”.
3. Use your favorite editor to edit the file (I will
explain the details in the next slides).
4. Run “make” at the command prompt under
your ns home directory.
5. You’re done. You should be able to invoke
your new modules defined in .cc, .h, and
.tcl from the NS prompt.
2.
http://www.ns2ultimate.com
3
Modifying Makefile

There are three places in Makefile you
will have to modify
◦ OBJ_CC
◦ NS_TCL_LIB
◦ INCLUDE

Suppose your new module are
◦ Stored in files myfile.h, myfile.cc, and
myfile.tcl
◦ Stored under directory nsallinone-2.35RC3/ns-2.35/myDir
http://www.ns2ultimate.com
4
1. C++ Modules

Add
“myDir/myfile.o \”
to any line following this line
OBJ_CC = \

Note:
◦ The extension must be “.o”, not “.cc” nor
“.h”
◦ “.o” is an object file obtained by compiling
“.cc” and “.h”
1. C++ Modules: Example
http://www.ns2ultimate.com
6
2. Tcl Modules

Add
“myDir/myfile.tcl \”
to any line following this line
NS_TCL_LIB = \
3. Including Directory (Optional)

Add
“-I./myDir \”
to any line following this line
INCLUDES = \

This will include myDir into the compiling path. So that you don’t
need to type the full path every time.
Final step

Just run “ make ” at the command
prompt

Done!!
For more information about
NS 2
Please see chapter 2 in
this book from Springer
T. Issaraiyakul and E. Hossain, “Introduction to
Network Simulator NS2”, Springer 2009
http://www.ns2ultimate.com
10
Download