To use this, just add Agent/DSDV set fulltcp_ 1 to your TCL script (before you do node-config) once you've made the following changes to the ns source and re-compiled.
Files Changed
Note: These diffs are based on the ns-2.29 release.
Index: dsdv.cc *** dsdv.cc 13 Jul 2005 03:51:24 -0000 1.25 --- dsdv.cc 7 Mar 2006 15:26:16 -0000 *************** *** 1009,1015 **** /* * Add the IP Header */ ! cmh->size() += IP_HDR_LEN; iph->ttl_ = IP_DEF_TTL; } /* --- 1009,1017 ---- /* * Add the IP Header */ ! if (!fulltcp_) { ! cmh->size() += IP_HDR_LEN; ! } iph->ttl_ = IP_DEF_TTL; } /* *************** *** 1080,1086 **** periodic_callback_ (0), be_random_ (1), use_mac_ (0), verbose_ (1), trace_wst_ (0), lasttup_ (-10), alpha_ (0.875), wst0_ (6), perup_ (15), ! min_update_periods_ (3) // constants { table_ = new RoutingTable (); helper_ = new DSDV_Helper (this); --- 1082,1088 ---- periodic_callback_ (0), be_random_ (1), use_mac_ (0), verbose_ (1), trace_wst_ (0), lasttup_ (-10), alpha_ (0.875), wst0_ (6), perup_ (15), ! min_update_periods_ (3), fulltcp_(0) // constants { table_ = new RoutingTable (); helper_ = new DSDV_Helper (this); *************** *** 1095,1100 **** --- 1097,1104 ---- bind ("min_update_periods_", &min_update_periods_); bind ("verbose_", &verbose_); bind ("trace_wst_", &trace_wst_); + // MCW 2006Feb02 + bind ("fulltcp_", &fulltcp_); //DEBUG address = 0;dsdv/dsdv.h
Index: dsdv.h *** dsdv.h 20 Aug 1999 18:03:16 -0000 1.6 --- dsdv.h 7 Mar 2006 15:16:21 -0000 *************** *** 137,142 **** --- 137,145 ---- int min_update_periods_; // 3 we must hear an update from a neighbor // every min_update_periods or we declare // them unreachable + + // MCW 2006Feb02 + int fulltcp_; void output_rte(const char *prefix, rtable_ent *prte, DSDV_Agent *a);tcl/mobility/dsdv.tcl
Index: dsdv.tcl *** dsdv.tcl 23 Dec 2003 17:36:35 -0000 1.14 --- dsdv.tcl 7 Mar 2006 15:18:37 -0000 *** 49,54 **** --- 49,57 ---- Agent/DSDV set verbose_ 0 ;# Agent/DSDV set trace_wst_ 0 ;# + # MCW 2006Feb02 + Agent/DSDV set fulltcp_ 0 + set opt(ragent) Agent/DSDV set opt(pos) NONE ;# Box or NONE