Commit 56e6c88c authored by Shashi Guruprasad's avatar Shashi Guruprasad

The per-flow packet statistics (timestamp, size, clock) can now be

enabled and configured from Tcl selectively per destination-port. The
number of packets to store can also be specified. Previously, these
were enabled by default for every flow.
parent ed848fd5
--- dist-ns-allinone-2.26/ns-2.26/trace/cmu-trace.cc Wed Feb 26 15:11:29 2003
+++ ns-allinone-2.26/ns-2.26/trace/cmu-trace.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/trace/cmu-trace.cc Fri Nov 28 16:55:25 2003
@@ -941,6 +941,8 @@
case PT_GAF:
case PT_PING:
......@@ -10,7 +10,7 @@
fprintf(stderr, "%s - invalid packet type (%s).\n",
__PRETTY_FUNCTION__, packet_info.name(ch->ptype()));
--- dist-ns-allinone-2.26/ns-2.26/tools/random.cc Wed Feb 26 15:11:28 2003
+++ ns-allinone-2.26/ns-2.26/tools/random.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tools/random.cc Fri Nov 28 16:55:25 2003
@@ -47,11 +47,13 @@
#define GCC_THROW
#endif
......@@ -26,7 +26,7 @@
#endif /* !WIN32 */
--- dist-ns-allinone-2.26/ns-2.26/tcp/tcp-full.cc Wed Feb 26 15:11:24 2003
+++ ns-allinone-2.26/ns-2.26/tcp/tcp-full.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcp/tcp-full.cc Fri Nov 28 16:55:25 2003
@@ -76,7 +76,7 @@
*
* Some warnings and comments:
......@@ -502,7 +502,7 @@
}
//if (int(t_seqno_) > 1)
--- dist-ns-allinone-2.26/ns-2.26/tcp/tcp-full.h Wed Feb 26 15:11:24 2003
+++ ns-allinone-2.26/ns-2.26/tcp/tcp-full.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcp/tcp-full.h Fri Nov 28 16:55:25 2003
@@ -104,6 +104,20 @@
#define PF_TIMEOUT 0x04 /* protocol defined */
#define TCP_PAWS_IDLE (24 * 24 * 60 * 60) /* 24 days in secs */
......@@ -537,7 +537,7 @@
}
virtual void oldack() { // what to do on old ack
--- dist-ns-allinone-2.26/ns-2.26/tcp/tcp.h Wed Feb 26 15:11:25 2003
+++ ns-allinone-2.26/ns-2.26/tcp/tcp.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcp/tcp.h Fri Nov 28 16:55:25 2003
@@ -56,6 +56,8 @@
int tcp_flags_; /* TCP flags for FullTcp */
int last_rtt_; /* more recent RTT measurement in ms, */
......@@ -556,7 +556,7 @@
/* these are used to mark packets as to why we xmitted them */
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-address.tcl Wed Feb 26 15:09:37 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-address.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-address.tcl Fri Nov 28 16:55:25 2003
@@ -162,7 +162,7 @@
Simulator set AddressFormat_ HIER
Node enable-module "Hier"
......@@ -589,7 +589,7 @@
#chk to ensure there;s no change in size
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-default.tcl Wed Feb 26 15:09:37 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-default.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-default.tcl Fri Nov 28 16:55:25 2003
@@ -347,6 +347,8 @@
Classifier set offset_ 0
Classifier set shift_ 0
......@@ -600,7 +600,7 @@
Classifier/Hash set default_ -1; # none
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-lib.tcl Wed Feb 26 15:09:37 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-lib.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-lib.tcl Mon Jan 12 00:36:16 2004
@@ -1,6 +1,6 @@
# -*- Mode:tcl; tcl-indent-level:8; tab-width:8; indent-tabs-mode:t -*-
#
......@@ -799,7 +799,7 @@
+ $agent set agent_addr_ $srcipaton
+}
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-link.tcl Wed Feb 26 15:09:37 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-link.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-link.tcl Tue Dec 2 00:57:03 2003
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1996 Regents of the University of California.
......@@ -947,7 +947,7 @@
Class SimpleLink -superclass Link
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-node.tcl Wed Feb 26 15:09:37 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-node.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-node.tcl Sun Jan 4 18:27:34 2004
@@ -492,6 +492,15 @@
# at the port demuxer (if there is one)
$self add-route $address_ $dmux_
......@@ -1015,7 +1015,7 @@
+}
+
--- dist-ns-allinone-2.26/ns-2.26/tcl/lib/ns-rtmodule.tcl Fri Feb 28 10:50:56 2003
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-rtmodule.tcl Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/tcl/lib/ns-rtmodule.tcl Fri Nov 28 16:55:25 2003
@@ -125,6 +125,7 @@
$classifier_ set mask_ [AddrParams NodeMask 1]
$classifier_ set shift_ [AddrParams NodeShift 1]
......@@ -1025,7 +1025,7 @@
$node install-entry $self $classifier_
}
--- dist-ns-allinone-2.26/ns-2.26/apps/telnet.cc Wed Feb 26 15:07:16 2003
+++ ns-allinone-2.26/ns-2.26/apps/telnet.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/apps/telnet.cc Fri Nov 28 16:55:25 2003
@@ -77,7 +77,7 @@
{
if (running_) {
......@@ -1036,7 +1036,7 @@
double t = next();
timer_.resched(t);
--- dist-ns-allinone-2.26/ns-2.26/classifier/classifier-hash.h Wed Feb 26 15:07:30 2003
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-hash.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-hash.h Fri Nov 28 16:55:25 2003
@@ -177,5 +177,17 @@
const char* hashkey(nsaddr_t, nsaddr_t dst, int) {
return (const char*) mshift(dst);
......@@ -1056,7 +1056,7 @@
};
--- dist-ns-allinone-2.26/ns-2.26/classifier/classifier.cc Wed Feb 26 15:07:34 2003
+++ ns-allinone-2.26/ns-2.26/classifier/classifier.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/classifier/classifier.cc Fri Nov 28 16:55:25 2003
@@ -52,13 +52,14 @@
......@@ -1074,7 +1074,7 @@
int Classifier::classify(Packet *p)
--- dist-ns-allinone-2.26/ns-2.26/classifier/classifier.h Wed Feb 26 15:07:34 2003
+++ ns-allinone-2.26/ns-2.26/classifier/classifier.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/classifier/classifier.h Fri Nov 28 16:55:25 2003
@@ -82,10 +82,11 @@
int nslot_;
int maxslot_;
......@@ -1090,10 +1090,17 @@
#endif
--- dist-ns-allinone-2.26/ns-2.26/classifier/classifier-port.h Wed Feb 26 15:07:33 2003
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-port.h Fri Mar 12 10:35:19 2004
@@ -29,12 +29,21 @@
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-port.h Fri Mar 19 17:27:13 2004
@@ -28,13 +28,29 @@
#include "ip.h"
#include "classifier.h"
+#ifdef STORE_PKTS
+#ifndef NUM_PKTS
+#define NUM_PKTS 100000
+#endif
+#endif
+
class PortClassifier : public Classifier {
+#ifdef STORE_PKTS
+public:
......@@ -1109,13 +1116,14 @@
+ Tcl_HashTable pktsonport;
+ int command(int argc, const char*const* argv);
+ void print_pkts();
+ void alloc_store_pkts(u_int32_t port, u_int32_t max_size=NUM_PKTS);
+#endif
};
class ReservePortClassifier : public PortClassifier {
--- dist-ns-allinone-2.26/ns-2.26/classifier/classifier-port.cc Wed Feb 26 15:07:33 2003
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-port.cc Fri Mar 12 10:35:19 2004
@@ -26,15 +26,108 @@
+++ ns-allinone-2.26/ns-2.26/classifier/classifier-port.cc Sat Mar 20 16:58:28 2004
@@ -26,15 +26,144 @@
#endif
#include "classifier-port.h"
......@@ -1127,10 +1135,6 @@
+
+#ifdef STORE_PKTS
+
+#ifndef NUM_PKTS
+#define NUM_PKTS 100000
+#endif
+
+struct pkt_data {
+ double ts;
+ unsigned int size;
......@@ -1139,8 +1143,12 @@
+
+struct pkt_dump {
+ pkt_dump() : num_pkts(0) {}
+ int num_pkts;
+ pkt_data pkts[NUM_PKTS];
+ ns_addr_t src;
+ ns_addr_t dst;
+ u_int32_t num_pkts;
+ u_int32_t max_pkts;
+ // variable sized array
+ pkt_data pkts[0];
+};
+
+PortClassifier::PortClassifier()
......@@ -1165,25 +1173,24 @@
// ports are stored in a seperate variable.
hdr_ip* iph = hdr_ip::access(p);
+#ifdef STORE_PKTS
+ int newentry = 0;
+ Tcl_HashEntry *he = Tcl_CreateHashEntry( &pktsonport,
+ (char *)(iph->dport()),
+ &newentry );
+ Tcl_HashEntry *he = Tcl_FindHashEntry( &pktsonport,
+ (char *)(iph->dport()) );
+
+ pkt_dump *dump = 0;
+ if( newentry == 0 ) {
+ if( he != 0 ) {
+ dump = (pkt_dump *)Tcl_GetHashValue(he);
+ } else {
+ dump = new pkt_dump;
+ Tcl_SetHashValue( he, (char *)dump );
+ }
+ if ( dump->num_pkts < NUM_PKTS ) {
+ hdr_cmn *hc = HDR_CMN(p);
+ dump->pkts[dump->num_pkts].size = hc->size();
+ dump->pkts[dump->num_pkts].ts = packet_ts;
+ dump->pkts[dump->num_pkts].clock = Scheduler::instance().clock();
+ dump->num_pkts += 1;
+ }
+ if ( dump->num_pkts < dump->max_pkts ) {
+ if( dump->num_pkts == 0 ) {
+ dump->src = iph->src_;
+ dump->dst = iph->dst_;
+ }
+ hdr_cmn *hc = HDR_CMN(p);
+ dump->pkts[dump->num_pkts].size = hc->size();
+ dump->pkts[dump->num_pkts].ts = packet_ts;
+ dump->pkts[dump->num_pkts].clock = Scheduler::instance().clock();
+ dump->num_pkts += 1;
+ }
+ }
+#endif
return iph->dport();
};
......@@ -1195,28 +1202,65 @@
+ if (argc == 2 && strcmp(argv[1],"print-pkts") == 0) {
+ print_pkts();
+ return(TCL_OK);
+ }
+#ifdef STORE_PKTS
+ else if (argc >= 3 && strcmp(argv[1],"store-pkts") == 0) {
+ u_int32_t port = atoi(argv[2]);
+ if ( argc == 4 )
+ alloc_store_pkts(port, atoi(argv[3]));
+ else
+ alloc_store_pkts(port);
+ return(TCL_OK);
+ }
+#endif
+ return (Classifier::command(argc, argv));
+}
+
+#ifdef STORE_PKTS
+void PortClassifier::alloc_store_pkts(u_int32_t port, u_int32_t max_size) {
+
+ int newentry = 0;
+ pkt_dump *dump = 0;
+ Tcl_HashEntry *he = Tcl_CreateHashEntry( &pktsonport,
+ (char *)port,
+ &newentry );
+ if( newentry == 0 ) {
+ dump = (pkt_dump *)Tcl_GetHashValue(he);
+ free(dump);
+ dump = 0;
+ }
+ dump = (pkt_dump *)calloc(1, sizeof(pkt_dump) +
+ max_size * sizeof(pkt_data) );
+ dump->max_pkts = max_size;
+ Tcl_SetHashValue( he, (char *)dump );
+}
+#endif
+
+void PortClassifier::print_pkts()
+{
+ Tcl_HashSearch search;
+ Tcl_HashEntry *he = 0;
+ Tcl &tcl = Tcl::instance();
+ char srcip[20], dstip[20];
+
+ for( he = Tcl_FirstHashEntry(&pktsonport, &search) ; he != 0 ;
+ he = Tcl_NextHashEntry(&search) ) {
+ u_int32_t port = (u_int32_t)Tcl_GetHashKey( &pktsonport, he );
+ pkt_dump *dump = (pkt_dump *)Tcl_GetHashValue( he );
+ if( dump->num_pkts == 0 )
+ continue;
+
+ printf("*************** port:%d ***************\n");
+ tcl.evalf("[Simulator instance] inet-ntoa %d", dump->src.addr_ );
+ strncpy( srcip, tcl.result(), sizeof(srcip) );
+ tcl.evalf("[Simulator instance] inet-ntoa %d", dump->dst.addr_ );
+ strncpy( dstip, tcl.result(), sizeof(dstip) );
+ printf("***************src-%s:%d dst-%s:%d***************\n",
+ srcip, dump->src.port_, dstip, dump->dst.port_ );
+ for( unsigned int i=0 ; i<dump->num_pkts ; i++ ) {
+ printf("%lf %d %lf\n", dump->pkts[i].ts, dump->pkts[i].size,
+ printf("%f %d %f\n", dump->pkts[i].ts, dump->pkts[i].size,
+ dump->pkts[i].clock );
+ }
+ printf("---------------------------------------\n");
+ fflush(stdout);
+ }
+}
+
......@@ -1225,7 +1269,7 @@
static class PortClassifierClass : public TclClass {
public:
--- dist-ns-allinone-2.26/ns-2.26/common/ip.h Wed Feb 26 15:07:39 2003
+++ ns-allinone-2.26/ns-2.26/common/ip.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/ip.h Fri Nov 28 16:55:25 2003
@@ -76,11 +76,11 @@
/* per-field member acces functions */
ns_addr_t& src() { return (src_); }
......@@ -1241,7 +1285,7 @@
/* ipv6 fields */
int& flowid() { return (fid_); }
--- dist-ns-allinone-2.26/ns-2.26/common/packet.h Wed Feb 26 15:07:40 2003
+++ ns-allinone-2.26/ns-2.26/common/packet.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/packet.h Fri Jan 16 16:09:19 2004
@@ -325,6 +325,10 @@
inline int& ref_count() { return (ref_count_); }
static inline Packet* alloc();
......@@ -1354,7 +1398,7 @@
#endif
--- dist-ns-allinone-2.26/ns-2.26/common/scheduler.cc Wed Feb 26 15:07:41 2003
+++ ns-allinone-2.26/ns-2.26/common/scheduler.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/scheduler.cc Thu Mar 11 18:53:04 2004
@@ -46,12 +46,42 @@
#include "config.h"
#include "scheduler.h"
......@@ -1738,7 +1782,7 @@
// we reach here only if halted
}
--- dist-ns-allinone-2.26/ns-2.26/common/scheduler.h Wed Feb 26 15:07:41 2003
+++ ns-allinone-2.26/ns-2.26/common/scheduler.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/scheduler.h Thu Mar 11 19:01:17 2004
@@ -98,7 +98,7 @@
protected:
void dumpq(); // for debug: remove + print remaining events
......@@ -1801,7 +1845,7 @@
#endif
--- dist-ns-allinone-2.26/ns-2.26/common/simulator.cc Wed Feb 26 15:07:41 2003
+++ ns-allinone-2.26/ns-2.26/common/simulator.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/simulator.cc Fri Nov 28 16:55:25 2003
@@ -23,6 +23,7 @@
#include "object.h"
......@@ -1849,7 +1893,7 @@
+ return (Node *)Tcl_GetHashValue(he);
+}
--- dist-ns-allinone-2.26/ns-2.26/common/simulator.h Wed Feb 26 15:07:42 2003
+++ ns-allinone-2.26/ns-2.26/common/simulator.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/simulator.h Fri Nov 28 16:55:25 2003
@@ -25,17 +25,21 @@
#include <tclcl.h>
......@@ -1891,7 +1935,7 @@
#endif /* ns_simulator_h */
--- dist-ns-allinone-2.26/ns-2.26/common/tclAppInit.cc Wed Feb 26 15:07:42 2003
+++ ns-allinone-2.26/ns-2.26/common/tclAppInit.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/tclAppInit.cc Fri Nov 28 16:55:25 2003
@@ -186,6 +186,7 @@
return TCL_OK;
}
......@@ -1909,7 +1953,7 @@
}
--- dist-ns-allinone-2.26/ns-2.26/common/timer-handler.cc Wed Feb 26 15:07:42 2003
+++ ns-allinone-2.26/ns-2.26/common/timer-handler.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/timer-handler.cc Fri Nov 28 16:55:25 2003
@@ -76,3 +76,40 @@
if (status_ == TIMER_HANDLING)
status_ = TIMER_IDLE;
......@@ -1952,7 +1996,7 @@
+
+#endif
--- dist-ns-allinone-2.26/ns-2.26/common/timer-handler.h Wed Feb 26 15:07:42 2003
+++ ns-allinone-2.26/ns-2.26/common/timer-handler.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/common/timer-handler.h Fri Nov 28 16:55:25 2003
@@ -88,4 +88,15 @@
// mode:c++
// End:
......@@ -1970,7 +2014,7 @@
+
#endif /* timer_handler_h */
--- dist-ns-allinone-2.26/ns-2.26/routing/address.cc Wed Feb 26 15:09:15 2003
+++ ns-allinone-2.26/ns-2.26/routing/address.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/routing/address.cc Fri Nov 28 16:55:25 2003
@@ -120,7 +120,7 @@
}
else
......@@ -1990,7 +2034,7 @@
NodeMask_[c] = atoi(argv[i]);
return (TCL_OK);
--- dist-ns-allinone-2.26/ns-2.26/routing/address.h Wed Feb 26 15:09:15 2003
+++ ns-allinone-2.26/ns-2.26/routing/address.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/routing/address.h Fri Nov 28 16:55:25 2003
@@ -61,10 +61,10 @@
// e.g 32 for level=1, 10/11/11 for level=3.
// used to check validity of address-str.
......@@ -2007,7 +2051,7 @@
protected:
int command(int argc, const char*const* argv);
--- dist-ns-allinone-2.26/ns-2.26/emulate/iptap.cc Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/iptap.cc Fri Mar 12 10:41:42 2004
+++ ns-allinone-2.26/ns-2.26/emulate/iptap.cc Fri Mar 12 12:41:32 2004
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998 The Regents of the University of California.
......@@ -2452,7 +2496,7 @@
+ return true;
+}
--- dist-ns-allinone-2.26/ns-2.26/emulate/iptap.h Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/iptap.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/iptap.h Fri Mar 5 18:15:03 2004
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 1998 The Regents of the University of California.
......@@ -2519,7 +2563,7 @@
#endif /* iptap_h */
--- dist-ns-allinone-2.26/ns-2.26/emulate/icmp.cc Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/icmp.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/icmp.cc Sun Dec 14 01:32:59 2003
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998 Regents of the University of California.
......@@ -2617,8 +2661,8 @@
icp->icmp_cksum = Internet::in_cksum((u_short*)icp,
8 + sizeof(ip) + 8);
--- /dev/null Fri Mar 12 12:20:11 2004
+++ ns-allinone-2.26/ns-2.26/emulate/icmp.h Fri Mar 12 10:35:19 2004
--- /dev/null Tue Mar 23 15:23:46 2004
+++ ns-allinone-2.26/ns-2.26/emulate/icmp.h Sun Dec 14 20:33:36 2003
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 1997, 1998, 2003 The Regents of the University of California.
......@@ -2671,7 +2715,7 @@
+
+#endif
--- dist-ns-allinone-2.26/ns-2.26/emulate/net-ip.cc Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/net-ip.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/net-ip.cc Fri Nov 28 16:55:25 2003
@@ -668,6 +668,20 @@
tcl.result("1");
return (TCL_OK);
......@@ -2694,7 +2738,7 @@
return (Network::command(argc, argv));
}
--- dist-ns-allinone-2.26/ns-2.26/emulate/net-pcap.cc Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/net-pcap.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/net-pcap.cc Thu Mar 11 19:13:02 2004
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1998 The Regents of the University of California.
......@@ -2868,7 +2912,7 @@
}
#endif
--- dist-ns-allinone-2.26/ns-2.26/emulate/net.cc Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/net.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/net.cc Fri Dec 12 18:57:43 2003
@@ -1,5 +1,5 @@
/*-
- * Copyright (c) 1993-1994, 1998 The Regents of the University of California.
......@@ -2877,7 +2921,7 @@
*
* Redistribution and use in source and binary forms, with or without
--- dist-ns-allinone-2.26/ns-2.26/emulate/net.h Wed Feb 26 15:08:40 2003
+++ ns-allinone-2.26/ns-2.26/emulate/net.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/net.h Sat Dec 13 21:20:28 2003
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1991-1994, 1998 Regents of the University of California.
......@@ -2998,7 +3042,7 @@
+
#endif
--- dist-ns-allinone-2.26/ns-2.26/emulate/tap.cc Wed Feb 26 15:08:42 2003
+++ ns-allinone-2.26/ns-2.26/emulate/tap.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/tap.cc Fri Nov 28 16:55:25 2003
@@ -46,7 +46,7 @@
}
} class_tap_agent;
......@@ -3133,7 +3177,7 @@
"TapAgent(%s): sendpkt (%p, %d): %s\n",
name(), p->accessdata(), hc->size(), strerror(errno));
--- dist-ns-allinone-2.26/ns-2.26/emulate/tap.h Wed Feb 26 15:08:42 2003
+++ ns-allinone-2.26/ns-2.26/emulate/tap.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/tap.h Fri Nov 28 16:55:25 2003
@@ -43,7 +43,7 @@
#include "agent.h"
......@@ -3156,7 +3200,7 @@
};
--- dist-ns-allinone-2.26/ns-2.26/emulate/tcptap.cc Wed Feb 26 15:08:42 2003
+++ ns-allinone-2.26/ns-2.26/emulate/tcptap.cc Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/emulate/tcptap.cc Fri Nov 28 16:55:25 2003
@@ -97,6 +97,11 @@
return (TCL_OK);
}
......@@ -3232,7 +3276,7 @@
fprintf(stderr,"TCPTapAgent(%s): sendpkt (%p, %d): %s\n",
name(), p->accessdata(), ns_cmnhdr->size(), strerror(errno));
--- dist-ns-allinone-2.26/ns-2.26/link/delay.h Wed Feb 26 15:08:54 2003
+++ ns-allinone-2.26/ns-2.26/link/delay.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/link/delay.h Fri Nov 28 16:55:25 2003
@@ -44,6 +44,10 @@
#include "ip.h"
#include "connector.h"
......@@ -3257,7 +3301,7 @@
double bandwidth() const { return bandwidth_; }
void pktintran(int src, int group);
--- dist-ns-allinone-2.26/ns-2.26/mcast/lms.h Wed Feb 26 15:08:58 2003
+++ ns-allinone-2.26/ns-2.26/mcast/lms.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/mcast/lms.h Fri Nov 28 16:55:25 2003
@@ -64,7 +64,7 @@
nsaddr_t src_; // original source of mcast packet
nsaddr_t group_; // mcast group
......@@ -3268,7 +3312,7 @@
int lo_, hi_; // range of lost packets
double ts_; // timestamp for RTT estimation
--- dist-ns-allinone-2.26/ns-2.26/Makefile.in Thu Feb 27 17:51:25 2003
+++ ns-allinone-2.26/ns-2.26/Makefile.in Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/Makefile.in Thu Mar 11 18:33:31 2004
@@ -79,6 +79,21 @@
CFLAGS = $(CCOPT) $(DEFINE)
......@@ -3311,7 +3355,7 @@
OBJ_EMULATE_C = \
emulate/inet.o
--- dist-ns-allinone-2.26/ns-2.26/config.h Wed Feb 26 15:07:55 2003
+++ ns-allinone-2.26/ns-2.26/config.h Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/ns-2.26/config.h Fri Nov 28 16:55:25 2003
@@ -73,13 +73,13 @@
typedef unsigned char u_char;
typedef unsigned int u_int;
......@@ -3331,7 +3375,7 @@
ns_addr_t& operator= (const ns_addr_t& n) {
addr_ = n.addr_;
--- dist-ns-allinone-2.26/install Wed Feb 26 16:07:51 2003
+++ ns-allinone-2.26/install Fri Mar 12 10:35:19 2004
+++ ns-allinone-2.26/install Mon Dec 15 19:04:53 2003
@@ -41,301 +41,47 @@
# Get current path
CUR_PATH=`pwd`
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment