ns-2 Code of ORMCC
(See *nix code)
Instructions to add the ORMCC protocol to ns-2
- Copy the following files into the main ns directory:
ormcc.h, ormcc.cc, ormcc-avg.h, ormcc-avg.cc
Download
- In packet.h make the following additions:
- below
#define HDR_DIFF(p) (hdr_diff::access(p))
add the line:
#define HDR_ORMCC(p) (hdr_ormcc::access (p))
#define HDR_ORMCC_CI(p) (hdr_ormcc_ci::access (p))
- below
PT_REALAUDIO,
add the lines:
PT_ORMCC,
PT_ORMCC_CI,
- below
name_[PT_REALAUDIO] = "ra";
add the lines:
name_[PT_ORMCC] = "ormcc_data";
name_[PT_ORMCC_CI] = "ormcc_ci";
- In tcl/lib/ns-packet.tcl below
UMP
add the lines:
ORMCC
ORMCC_CI
- In tcl/lib/ns-default.tcl add the following lines:
Agent/ORMCC set packetSize_ 1000
Agent/ORMCC set minRate_ [Agent/ORMCC set packetSize_] ;# One packet per second
Agent/ORMCC set initRtt_ 0.1
Agent/ORMCC set initRate_ [expr 2.0 * [Agent/ORMCC set packetSize_]/[Agent/ORMCC set initRtt_]] ;# 2 packets per RTT
Agent/ORMCCSink set packetSize_ 40
- In Makefile.in below
rtmodule.o classifier-hier.o addr-params.o\
add the line:
ormcc-avg.o ormcc.o\
- Recompile ns with ./configure; make clean; make
A ns example script to test TCP-friendliness and drop-to-zero avoidance is available here.
*nix code of ORMCC
(See ns-2 code)
Note 1: This code is for test only. It just sends dummy data. However, it can be modified to send useful data.
Note 2: It now compiles on Linux and Solaris (using gmake). It should also compile on other Unix platforms with proper libraries linked.
Download
For installation problems and bug reports please contact Jiang (Leo) Li.