branch merge
This commit is contained in:
1
.hgtags
1
.hgtags
@@ -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
|
||||
|
||||
1
AUTHORS
1
AUTHORS
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
========================
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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&);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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.
|
||||
*/
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user