Including Your Modules into NS 2 by Teerawat Issariyakul http://www.ns2ultimate.com March 2010 http://www.ns2ultimate.com
Assumptions and Objectives You have developed NS2 modules in one or more of the following 3 file types: What you would like to do is to incorporate these files into NS2 File type Example C++ file myfile.cc Header file myfile.h Tcl file myfile.tcl Tip: Add your own speaker notes here. http://www.ns2ultimate.com
Key step Go to your ns home directory (e.g., nsallinone-2.35-RC3/ns-2.35). Look for a file called “Makefile”. Use your favorite editor to edit the file (I will explain the details in the next slides). Run “make” at the command prompt under your ns home directory. You’re done. You should be able to invoke your new modules defined in .cc, .h, and .tcl from the NS prompt. Tip: Add your own speaker notes here. http://www.ns2ultimate.com
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.35- RC3/ns-2.35/myDir Tip: Add your own speaker notes here. http://www.ns2ultimate.com
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” Tip: Add your own speaker notes here.
1. C++ Modules: Example Tip: Add your own speaker notes here. http://www.ns2ultimate.com
2. Tcl Modules Add “myDir/myfile.tcl \” to any line following this line NS_TCL_LIB = \ Tip: Add your own speaker notes here.
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. Tip: Add your own speaker notes here.
Final step Just run “ make ” at the command prompt Done!! Tip: Add your own speaker notes here.
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