⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ns-2.27-aodv-uu-0.8.patch

📁 aodv-0.9.5 fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
💻 PATCH
📖 第 1 页 / 共 2 页
字号:
+	$ragent_ target $classifier_++	set nullAgent_ [$ns set nullAgent_]+	+	# The default target in the classifier is set to the+	# nullAgent, since the routing agent already handled whatever+	# needs to be handled+	$classifier_ defaulttarget $nullAgent_+	+	# Packets to the routing agent and default port should be+	# dropped, since we've already handled them in the routing+	# agent at the entry.+	$dmux_ install [Node set rtagent_port_] $nullAgent_+	$dmux_ defaulttarget $nullAgent_++	return $self+}++Node/MobileNode/AODVNode instproc start-aodv {} {+	$self instvar ragent_+	$ragent_ start+}++Node/MobileNode/AODVNode instproc entry {} {+        $self instvar entry_point_+        return $entry_point_+}++Node/MobileNode/AODVNode instproc add-interface args {+	eval $self next $args++	$self instvar ragent_ ll_ mac_ ifq_++	set ns [Simulator instance]++	if { [Simulator set RouterTrace_] == "ON" } {+		# Send Target+		set sndT [$self mobility-trace Send "RTR"]+		set namfp [$ns get-nam-traceall]+		if {$namfp != "" } {+			$sndT namattach $namfp+		}+		$sndT target $ll_(0)+		$ragent_ add-ll $sndT +	} else {+		# Send Target+		$ragent_ add-ll $ll_(0) +	}++	$ragent_ if-queue $ifq_(0)+}++Node/MobileNode/AODVNode instproc reset args {+	$self instvar ragent_+	eval $self next $args+	$ragent_ reset+}diff -urN ns-2.27/tcl/lib/ns-packet.tcl ../../mod-2.27/ns-allinone-2.27/ns-2.27/tcl/lib/ns-packet.tcl--- ns-2.27/tcl/lib/ns-packet.tcl	2004-01-13 01:54:42.000000000 +0100+++ ../../mod-2.27/ns-allinone-2.27/ns-2.27/tcl/lib/ns-packet.tcl	2004-02-13 13:03:46.000000000 +0100@@ -33,7 +33,7 @@ # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. #-# @(#) $Header: /nfs/jade/vint/CVSROOT/ns-2/tcl/lib/ns-packet.tcl,v 1.48 2003/08/21 18:22:01 haldar Exp $+# @(#) $Header: /it/project/fo/core/ape/cvsroot/ape-sources/src/aodv-uu/ns-2.27/tcl/lib/ns-packet.tcl,v 1.1 2004/02/13 10:10:59 erikn Exp $ # # set up the packet format for the simulation # (initial version)@@ -157,6 +157,7 @@ 	SCTP 	Smac 	NV+        AODVUU } { 	add-packet-header $prot }diff -urN ns-2.27/trace/cmu-trace.cc ../../mod-2.27/ns-allinone-2.27/ns-2.27/trace/cmu-trace.cc--- ns-2.27/trace/cmu-trace.cc	2004-01-13 01:53:54.000000000 +0100+++ ../../mod-2.27/ns-allinone-2.27/ns-2.27/trace/cmu-trace.cc	2004-02-13 13:03:57.000000000 +0100@@ -34,7 +34,7 @@  * Ported from CMU/Monarch's code, appropriate copyright applies.  * nov'98 -Padma.  *- * $Header: /nfs/jade/vint/CVSROOT/ns-2/trace/cmu-trace.cc,v 1.78 2003/09/23 00:44:07 aditi Exp $+ * $Header: /it/project/fo/core/ape/cvsroot/ape-sources/src/aodv-uu/ns-2.27/trace/cmu-trace.cc,v 1.1 2004/02/13 10:10:59 erikn Exp $  */  #include <packet.h>@@ -51,6 +51,9 @@ #include <tora/tora_packet.h> //TORA #include <imep/imep_spec.h>         // IMEP #include <aodv/aodv_packet.h> //AODV+#ifdef AODV_UU+#include <aodv-uu/aodv-uu.h> // AODV-UU+#endif /* AODV_UU */ #include <cmu-trace.h> #include <mobilenode.h> #include <simulator.h>@@ -849,6 +852,170 @@                 abort();         } }+#ifdef AODV_UU+void CMUTrace::format_aodvuu(Packet *p, int offset) {++        struct hdr_ip *ih = HDR_IP(p);+        hdr_aodvuu *ah = HDR_AODVUU(p);+        AODV_msg *aodv_msg = (AODV_msg *) ah;++        RREQ *aodv_rreq = (RREQ *) aodv_msg;+        RREP *aodv_rrep = (RREP *) aodv_msg;+        RREP_ack *aodv_rrep_ack = (RREP_ack *) aodv_msg;+        RERR *aodv_rerr = (RERR *) aodv_msg;++        switch (aodv_msg->type) {++        case AODV_RREQ:++                if (pt_->tagged()) {+                        // Tagged format currently not supported+                } else if (newtrace_) {++                        sprintf(pt_->buffer() + offset,+                                "-P aodvuu -Pt 0x%x -Ph %d -Pb %d -Pd %d -Pds %d -Ps %d -Pss %d -Pc REQUEST ",+                                aodv_rreq->type,+                                aodv_rreq->hcnt,+                                aodv_rreq->rreq_id,+                                (nsaddr_t) aodv_rreq->dest_addr,+                                aodv_rreq->dest_seqno,+                                (nsaddr_t) aodv_rreq->orig_addr,+                                aodv_rreq->orig_seqno);++                } else {++                        sprintf(pt_->buffer() + offset,+                                "[0x%x %d %d [%d %d] [%d %d]] (REQUEST)",+                                aodv_rreq->type,+                                aodv_rreq->hcnt,+                                ntohl(aodv_rreq->rreq_id),+                                (nsaddr_t) aodv_rreq->dest_addr,+                                aodv_rreq->dest_seqno,+                                (nsaddr_t) aodv_rreq->orig_addr,+                                aodv_rreq->orig_seqno);+                }++                break;++        case AODV_HELLO:++                /* FALLS THROUGH (HELLO:s are sent as RREP:s) */++        case AODV_RREP:++                if (pt_->tagged()) {+                        // Tagged format currently not supported+                } else if (newtrace_) {++                        sprintf(pt_->buffer() + offset,+                                "-P aodvuu -Pt 0x%x -Ph %d -Pd %d -Pds %d -Ps %d -Pl %f -Pc %s ",+                                aodv_rrep->type,+                                aodv_rrep->hcnt,+                                (nsaddr_t) aodv_rrep->dest_addr,+                                aodv_rrep->dest_seqno,+				(nsaddr_t) aodv_rrep->orig_addr,+                                (double) aodv_rrep->lifetime,+                                (ih->daddr() == (nsaddr_t) AODV_BROADCAST &&+                                 ih->ttl() == 1) ? "HELLO" : "REPLY");+                } else {++                        sprintf(pt_->buffer() + offset,+                                "[0x%x %d [%d %d] [%d] %f] (%s)",+                                aodv_rrep->type,+                                aodv_rrep->hcnt,+                                (nsaddr_t) aodv_rrep->dest_addr,+                                aodv_rrep->dest_seqno,+				(nsaddr_t) aodv_rrep->orig_addr,+                                (double) aodv_rrep->lifetime,+                                (ih->daddr() == (nsaddr_t) AODV_BROADCAST &&+                                 ih->ttl() == 1) ? "HELLO" : "REPLY");+                }++                break;++        case AODV_RERR:++                /*+                  Note 1:++                  The "hop count" (-Ph and its corresponding field in+                  the old trace format) is actually the DestCount.++                  This is a reminiscence from the AODV trace format,+                  where RREP:s, RERR:s and HELLO:s are treated equally+                  in terms of logging.++                  Note 2:++                  Lifetime field does not exist for RERR:s.+                  Again a reminiscence from the AODV trace format+                  (where that field isn't even initialized!).+                  Therefore lifetime is set to 0.0 all the time for RERR:s.+		*/++                if (pt_->tagged()) {+                        // Tagged format currently not supported+                } else if (newtrace_) {++                        sprintf(pt_->buffer() + offset,+                                "-P aodvuu -Pt 0x%x -Ph %d -Pd %d -Pds %d -Pl %f -Pc ERROR ",+                                aodv_rerr->type,+                                aodv_rerr->dest_count,+                                (nsaddr_t) aodv_rerr->dest_addr,+                                aodv_rerr->dest_seqno,+                                0.0);+                } else {++                        sprintf(pt_->buffer() + offset,+                                "[0x%x %d [%d %d] %f] (ERROR)",+                                aodv_rerr->type,+                                aodv_rerr->dest_count,+                                (nsaddr_t) aodv_rerr->dest_addr,+                                aodv_rerr->dest_seqno,+                                0.0);+                }++                break;++        case AODV_RREP_ACK:++                /*+                  Note 3:++                  RREP-ACK logging didn't exist in the AODV trace format.+		*/++                if (pt_->tagged()) {+                        // Tagged format currently not supported+                } else if (newtrace_) {++                        sprintf(pt_->buffer() + offset,+                                "-P aodvuu -Pt 0x%x RREP-ACK ",+                                aodv_rrep_ack->type);+                } else {++                        sprintf(pt_->buffer() + offset,+                                "[%d] (RREP-ACK)",+                                aodv_rrep_ack->type);+                }++                break;++        default:++#ifdef WIN32+                fprintf(stderr,+                        "CMUTrace::format_aodvuu: invalid AODVUU packet type\n");+#else+                fprintf(stderr,+                        "%s: invalid AODVUU packet type\n", __FUNCTION__);+#endif+                abort();++                break;+        }+}+#endif /* AODV_UU */  void CMUTrace::nam_format(Packet *p, int offset)@@ -1058,6 +1225,13 @@ 		case PT_GAF: 		case PT_PING: 			break;+#ifdef AODV_UU+		case PT_ENCAPSULATED:+			break;+                case PT_AODVUU:+                        format_aodvuu(p, offset);+                        break;+#endif /* AODV_UU */ 		default: 			fprintf(stderr, "%s - invalid packet type (%s).\n", 				__PRETTY_FUNCTION__, packet_info.name(ch->ptype()));diff -urN ns-2.27/trace/cmu-trace.h ../../mod-2.27/ns-allinone-2.27/ns-2.27/trace/cmu-trace.h--- ns-2.27/trace/cmu-trace.h	2004-01-13 01:53:54.000000000 +0100+++ ../../mod-2.27/ns-allinone-2.27/ns-2.27/trace/cmu-trace.h	2004-02-13 13:03:57.000000000 +0100@@ -31,7 +31,7 @@  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF  * SUCH DAMAGE.  *- * $Header: /nfs/jade/vint/CVSROOT/ns-2/trace/cmu-trace.h,v 1.21 2003/09/23 00:44:07 aditi Exp $+ * $Header: /it/project/fo/core/ape/cvsroot/ape-sources/src/aodv-uu/ns-2.27/trace/cmu-trace.h,v 1.1 2004/02/13 10:10:59 erikn Exp $  */  /* Ported from CMU/Monarch's code, nov'98 -Padma.*/@@ -125,6 +125,9 @@ 	void	format_tora(Packet *p, int offset);         void    format_imep(Packet *p, int offset);         void    format_aodv(Packet *p, int offset);+#ifdef AODV_UU+        void    format_aodvuu(Packet *p, int offset);+#endif /* AODV_UU */ };  #endif /* __cmu_trace__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -