--- a/.hgtags Mon Aug 13 23:40:51 2007 -0700
+++ b/.hgtags Mon Aug 20 13:40:15 2007 -0700
@@ -3,3 +3,4 @@
0dc81e76166c56aaae64da48b673b62155943aad packet-history-working
38099dd26e9467b8f49f8632f22789858149a6e7 release ns-3.0.3
5701e60bf01a8ac1308945e69001e0cc07948faf release ns-3.0.4
+08046b6aef37932507696a2f2f427b42d693781e release ns-3.0.5
--- a/AUTHORS Mon Aug 13 23:40:51 2007 -0700
+++ b/AUTHORS Mon Aug 20 13:40:15 2007 -0700
@@ -3,4 +3,5 @@
Craig Dowell (craigdo@ee.washington.edu)
Tom Henderson (tomhend@u.washington.edu)
Mathieu Lacage (mathieu.lacage@sophia.inria.fr)
+Emmanuelle Laprise (emmmanuelle.laprise@bluekazoo.ca)
George F. Riley (riley@ece.gatech.edu)
--- a/RELEASE_NOTES Mon Aug 13 23:40:51 2007 -0700
+++ b/RELEASE_NOTES Mon Aug 20 13:40:15 2007 -0700
@@ -3,12 +3,16 @@
This file contains ns-3 release notes (most recent releases first).
-Release 3.0.5 (2007/08/XX)
+Release 3.0.5 (2007/08/15)
========================
- - Add CSMA/CD model (Emmanuelle Laprise)
- - Modularize ipv4 routing support (Gustavo Carneiro)
- - Add mobility framework and basic mobility models
+ - Refactoring to support win32-based unix environments (Cygwin, mingw)
+ - "Packet socket" for allowing applications to access NetDevices directly
+ - Generalized, polymorphic Address class
+ - Add CSMA NetDevice model (from Emmanuelle Laprise)
+ - Modularize IPv4 routing support (from Gustavo Carneiro)
+ - Add mobility framework and basic mobility models
+ - Global unicast centralized routing
Release 3.0.4 (2007/07/15)
========================
--- a/VERSION Mon Aug 13 23:40:51 2007 -0700
+++ b/VERSION Mon Aug 20 13:40:15 2007 -0700
@@ -1,1 +1,1 @@
-3.0.4
+3.0.5
--- a/doc/release_steps.txt Mon Aug 13 23:40:51 2007 -0700
+++ b/doc/release_steps.txt Mon Aug 20 13:40:15 2007 -0700
@@ -5,23 +5,20 @@
- revise and check in RELEASE_NOTES
- update and check in VERSION to the latest release number
2. make a new "architecture.pdf" document and place it in the doc/ directory
-3. add current version of waf script from subversion:
- - svn checkout http://waf.googlecode.com/svn/tags/ns3/ waf
- - build waf script and put it into top of ns-3-dev
-4. cd ns-3-dev; ./waf configure; ./waf dist
-5. test tarball on release platforms (run-tests and simple-p2p)
-6. tag ns-3-dev with "release ns-3.0.X"
+3. cd ns-3-dev; ./waf configure; ./waf dist
+4. test tarball on release platforms (waf check and maybe some other scripts)
+5. tag ns-3-dev with "release ns-3.0.X"
- hg tag "release ns-3.0.x"
- hg push
-7. clone the tagged ns-3-dev and place it on the repository
+6. clone the tagged ns-3-dev and place it on the repository
- ssh code.nsnam.org; sudo; su code;
- cp -r /home/code/repos/ns-3-dev /home/code/repos/ns-3.0.x
- cd /home/code/repos/ns-3.0.x/.hg and edit the hgrc appropriately
-8. upload "ns-3.0.x.tar.bz2" to the releases/ directory on the server
-9. update web page
+7. upload "ns-3.0.x.tar.bz2" to the releases/ directory on the server
+8. update web page
- add link to news.html
- update download.html
- update roadmap.html
- build and update Doxygen directory on the server
- update and upload software architecture document (PDF, HTML)
-10. announce to ns-developers, with summary of release notes
+9. announce to ns-developers, with summary of release notes
--- a/src/devices/csma/csma-net-device.h Mon Aug 13 23:40:51 2007 -0700
+++ b/src/devices/csma/csma-net-device.h Mon Aug 20 13:40:15 2007 -0700
@@ -99,8 +99,23 @@
*
* \param node the Node to which this device is connected.
* \param addr The source MAC address of the net device.
+ * \param pktType the type of encapsulation
*/
CsmaNetDevice (Ptr<Node> node, Eui48Address addr, CsmaEncapsulationMode pktType);
+
+ /**
+ * Construct a CsmaNetDevice
+ *
+ * This is the constructor for the CsmaNetDevice. It takes as a
+ * parameter the Node to which this device is connected. Ownership of the
+ * Node pointer is not implied and the node must not be deleted.
+ *
+ * \param node the Node to which this device is connected.
+ * \param addr The source MAC address of the net device.
+ * \param pktType the type of encapsulation
+ * \param sendEnable whether this device is able to send
+ * \param receiveEnable whether this device is able to receive
+ */
CsmaNetDevice (Ptr<Node> node, Eui48Address addr,
CsmaEncapsulationMode pktType,
bool sendEnable, bool receiveEnable);
--- a/src/devices/point-to-point/point-to-point-net-device.h Mon Aug 13 23:40:51 2007 -0700
+++ b/src/devices/point-to-point/point-to-point-net-device.h Mon Aug 20 13:40:15 2007 -0700
@@ -175,7 +175,6 @@
virtual Ptr<Channel> DoGetChannel(void) const;
/**
* Set a new default data rate
- * @param Data rate to set for new default
*/
static void SetDefaultRate(const DataRate&);
--- a/src/internet-node/ascii-trace.cc Mon Aug 13 23:40:51 2007 -0700
+++ b/src/internet-node/ascii-trace.cc Mon Aug 20 13:40:15 2007 -0700
@@ -25,6 +25,7 @@
#include "ns3/simulator.h"
#include "ns3/node.h"
#include "ns3/packet.h"
+#include "ns3/queue.h"
namespace ns3 {
@@ -40,8 +41,12 @@
AsciiTrace::TraceAllQueues (void)
{
Packet::EnableMetadata ();
- TraceRoot::Connect ("/nodes/*/devices/*/queue/*",
- MakeCallback (&AsciiTrace::LogDevQueue, this));
+ TraceRoot::Connect ("/nodes/*/devices/*/queue/enqueue",
+ MakeCallback (&AsciiTrace::LogDevQueueEnqueue, this));
+ TraceRoot::Connect ("/nodes/*/devices/*/queue/dequeue",
+ MakeCallback (&AsciiTrace::LogDevQueueDequeue, this));
+ TraceRoot::Connect ("/nodes/*/devices/*/queue/drop",
+ MakeCallback (&AsciiTrace::LogDevQueueDrop, this));
}
void
AsciiTrace::TraceAllNetDeviceRx (void)
@@ -52,8 +57,34 @@
}
void
-AsciiTrace::LogDevQueue (TraceContext const &context, Packet const &packet)
+AsciiTrace::LogDevQueueEnqueue (TraceContext const &context,
+ Packet const &packet)
{
+ m_os << "+ ";
+ m_os << Simulator::Now ().GetSeconds () << " ";
+ context.Print (m_os);
+ m_os << " pkt-uid=" << packet.GetUid () << " ";
+ packet.Print (m_os);
+ m_os << std::endl;
+}
+
+void
+AsciiTrace::LogDevQueueDequeue (TraceContext const &context,
+ Packet const &packet)
+{
+ m_os << "- ";
+ m_os << Simulator::Now ().GetSeconds () << " ";
+ context.Print (m_os);
+ m_os << " pkt-uid=" << packet.GetUid () << " ";
+ packet.Print (m_os);
+ m_os << std::endl;
+}
+
+void
+AsciiTrace::LogDevQueueDrop (TraceContext const &context,
+ Packet const &packet)
+{
+ m_os << "d ";
m_os << Simulator::Now ().GetSeconds () << " ";
context.Print (m_os);
m_os << " pkt-uid=" << packet.GetUid () << " ";
@@ -63,7 +94,7 @@
void
AsciiTrace::LogDevRx (TraceContext const &context, Packet &p)
{
- m_os << Simulator::Now ().GetSeconds () << " ";
+ m_os << "r " << Simulator::Now ().GetSeconds () << " ";
context.Print (m_os);
m_os << " pkt-uid=" << p.GetUid () << " ";
p.Print (m_os);
--- a/src/internet-node/ascii-trace.h Mon Aug 13 23:40:51 2007 -0700
+++ b/src/internet-node/ascii-trace.h Mon Aug 20 13:40:15 2007 -0700
@@ -37,7 +37,9 @@
void TraceAllQueues (void);
void TraceAllNetDeviceRx (void);
private:
- void LogDevQueue (TraceContext const &context, const Packet &p);
+ void LogDevQueueEnqueue (TraceContext const &context, const Packet &p);
+ void LogDevQueueDequeue (TraceContext const &context, const Packet &p);
+ void LogDevQueueDrop (TraceContext const &context, const Packet &p);
void LogDevRx (TraceContext const &context, Packet &p);
std::ofstream m_os;
};
--- a/src/node/socket.h Mon Aug 13 23:40:51 2007 -0700
+++ b/src/node/socket.h Mon Aug 20 13:40:15 2007 -0700
@@ -170,7 +170,6 @@
/**
* \brief Send data (or dummy data) to the remote host
* \param p packet to send
- * \param dataSent Data sent callback.
* \returns -1 in case of error or the number of bytes copied in the
* internal buffer and accepted for transmission.
*/
@@ -180,7 +179,6 @@
* \brief Send data to a specified peer.
* \param address IP Address of remote host
* \param p packet to send
- * \param dataSent Data sent callback.
* \returns -1 in case of error or the number of bytes copied in the
* internal buffer and accepted for transmission.
*/
--- a/src/routing/global-routing/global-route-manager-impl.cc Mon Aug 13 23:40:51 2007 -0700
+++ b/src/routing/global-routing/global-route-manager-impl.cc Mon Aug 20 13:40:15 2007 -0700
@@ -1586,6 +1586,7 @@
1);
GlobalRoutingLSA* lsa0 = new GlobalRoutingLSA ();
+ lsa0->SetLSType (GlobalRoutingLSA::RouterLSA);
lsa0->SetLinkStateId ("0.0.0.0");
lsa0->SetAdvertisingRouter ("0.0.0.0");
lsa0->AddLinkRecord (lr0);
@@ -1605,6 +1606,7 @@
1);
GlobalRoutingLSA* lsa1 = new GlobalRoutingLSA ();
+ lsa1->SetLSType (GlobalRoutingLSA::RouterLSA);
lsa1->SetLinkStateId ("0.0.0.1");
lsa1->SetAdvertisingRouter ("0.0.0.1");
lsa1->AddLinkRecord (lr2);
@@ -1648,6 +1650,7 @@
1);
GlobalRoutingLSA* lsa2 = new GlobalRoutingLSA ();
+ lsa2->SetLSType (GlobalRoutingLSA::RouterLSA);
lsa2->SetLinkStateId ("0.0.0.2");
lsa2->SetAdvertisingRouter ("0.0.0.2");
lsa2->AddLinkRecord (lr4);
@@ -1671,6 +1674,7 @@
1);
GlobalRoutingLSA* lsa3 = new GlobalRoutingLSA ();
+ lsa3->SetLSType (GlobalRoutingLSA::RouterLSA);
lsa3->SetLinkStateId ("0.0.0.3");
lsa3->SetAdvertisingRouter ("0.0.0.3");
lsa3->AddLinkRecord (lr10);
--- a/src/routing/global-routing/global-router-interface.h Mon Aug 13 23:40:51 2007 -0700
+++ b/src/routing/global-routing/global-router-interface.h Mon Aug 20 13:40:15 2007 -0700
@@ -431,7 +431,7 @@
/**
* @brief Add an attached router to the list in the NetworkLSA
*
- * @param address The Ipv4Address of the interface on the network link
+ * @param addr The Ipv4Address of the interface on the network link
* @returns The number of addresses in the list.
*/
uint32_t AddAttachedRouter (Ipv4Address addr);