branch merge

This commit is contained in:
Craig Dowell
2007-08-20 13:40:15 -07:00
12 changed files with 76 additions and 24 deletions

View File

@@ -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

View File

@@ -3,4 +3,5 @@ Gustavo Carneiro (gjc@inescporto.pt, gjcarneiro@gmail.com)
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)

View File

@@ -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)
========================

View File

@@ -1 +1 @@
3.0.4
3.0.5

View File

@@ -5,23 +5,20 @@ Steps in doing an ns-3 release
- 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

View File

@@ -99,8 +99,23 @@ enum CsmaEncapsulationMode {
*
* \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);

View File

@@ -175,7 +175,6 @@ protected:
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&);

View File

@@ -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 @@ void
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 @@ AsciiTrace::TraceAllNetDeviceRx (void)
}
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 @@ AsciiTrace::LogDevQueue (TraceContext const &context, Packet const &packet)
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);

View File

@@ -37,7 +37,9 @@ public:
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;
};

View File

@@ -170,7 +170,6 @@ public:
/**
* \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 @@ public:
* \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.
*/

View File

@@ -1586,6 +1586,7 @@ GlobalRouteManagerImplTest::RunTests (void)
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 @@ GlobalRouteManagerImplTest::RunTests (void)
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 @@ GlobalRouteManagerImplTest::RunTests (void)
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 @@ GlobalRouteManagerImplTest::RunTests (void)
1);
GlobalRoutingLSA* lsa3 = new GlobalRoutingLSA ();
lsa3->SetLSType (GlobalRoutingLSA::RouterLSA);
lsa3->SetLinkStateId ("0.0.0.3");
lsa3->SetAdvertisingRouter ("0.0.0.3");
lsa3->AddLinkRecord (lr10);

View File

@@ -431,7 +431,7 @@ public:
/**
* @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);