branch merge
authorCraig Dowell <craigdo@ee.washington.edu>
Mon, 20 Aug 2007 13:40:15 -0700
changeset 1438 2cc09d5a04c4
parent 1437 1d32949ae397 (current diff)
parent 1288 8bbad559c665 (diff)
child 1439 4743aef86605
branch merge
src/devices/csma/csma-ipv4-topology.h
--- 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);