--- a/CHANGES.html Wed Aug 07 11:29:45 2013 -0700
+++ b/CHANGES.html Thu Aug 15 12:01:57 2013 -0700
@@ -109,6 +109,10 @@
<h2>Changes to build system:</h2>
<ul>
+ <li> Make references to bug id's in doxygen comments with
+ <tt>\bugid{num}</tt>, where <tt>num</tt> is the bug id number. This
+ form will generate a link to the bug in the bug database.
+ </li>
</ul>
<h2>Changed behavior:</h2>
--- a/doc/doxygen.conf Wed Aug 07 11:29:45 2013 -0700
+++ b/doc/doxygen.conf Thu Aug 15 12:01:57 2013 -0700
@@ -202,6 +202,9 @@
# Usage: /** \param [in/out] tag If found, \pname{tag} is ... */
ALIASES += pname{1}="<span class=\"params\"><span class=\"paramname\">\1</span></span>"
+# Link to bug tracker
+ALIASES += bugid{1}="<a href=\"http://www.nsnam.org/bugzilla/show_bug.cgi?id=\1\">Bug \1</a>"
+
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding
# "class=itcl::class" will allow you to use the command class in the
--- a/examples/wireless/wifi-hidden-terminal.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/examples/wireless/wifi-hidden-terminal.cc Thu Aug 15 12:01:57 2013 -0700
@@ -109,19 +109,19 @@
cbrApps.Add (onOffHelper.Install (nodes.Get (0)));
// flow 2: node 2 -> node 1
- // The slightly different start times and data rates are a workround
- // for Bug 388 and Bug 912
- // http://www.nsnam.org/bugzilla/show_bug.cgi?id=912
- // http://www.nsnam.org/bugzilla/show_bug.cgi?id=388
+ /** \internal
+ * The slightly different start times and data rates are a workaround
+ * for \bugid{388} and \bugid{912}
+ */
onOffHelper.SetAttribute ("DataRate", StringValue ("3001100bps"));
onOffHelper.SetAttribute ("StartTime", TimeValue (Seconds (1.001)));
cbrApps.Add (onOffHelper.Install (nodes.Get (2)));
- // we also use separate UDP applications that will send a single
- // packet before the CBR flows start.
- // This is a workround for the lack of perfect ARP, see Bug 187
- // http://www.nsnam.org/bugzilla/show_bug.cgi?id=187
-
+ /** \internal
+ * We also use separate UDP applications that will send a single
+ * packet before the CBR flows start.
+ * This is a workaround for the lack of perfect ARP, see \bugid{187}
+ */
uint16_t echoPort = 9;
UdpEchoClientHelper echoClientHelper (Ipv4Address ("10.0.0.2"), echoPort);
echoClientHelper.SetAttribute ("MaxPackets", UintegerValue (1));
--- a/src/aodv/test/aodv-regression.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/aodv/test/aodv-regression.cc Thu Aug 15 12:01:57 2013 -0700
@@ -57,11 +57,14 @@
SetDataDir (NS_TEST_SOURCEDIR);
// General RREQ-RREP-RRER test case
AddTestCase (new ChainRegressionTest ("aodv-chain-regression-test"), TestCase::QUICK);
- // Bug 606 test case, should crash if bug is not fixed
+ /// \internal
+ /// \bugid{606} test case, should crash if bug is not fixed
AddTestCase (new ChainRegressionTest ("bug-606-test", Seconds (10), 3, Seconds (1)), TestCase::QUICK);
- // Bug 772 UDP test case
+ /// \internal
+ /// \bugid{772} UDP test case
AddTestCase (new Bug772ChainTest ("udp-chain-test", "ns3::UdpSocketFactory", Seconds (3), 10), TestCase::QUICK);
- // Bug 772 TCP test case
+ /// \internal
+ /// \bugid{772} TCP test case
AddTestCase (new Bug772ChainTest ("tcp-chain-test", "ns3::TcpSocketFactory", Seconds (3), 10), TestCase::QUICK);
// Ping loopback test case
AddTestCase (new LoopbackTestCase (), TestCase::QUICK);
--- a/src/aodv/test/bug-772.h Wed Aug 07 11:29:45 2013 -0700
+++ b/src/aodv/test/bug-772.h Thu Aug 15 12:01:57 2013 -0700
@@ -31,7 +31,7 @@
/**
* \ingroup aodv
*
- * \brief AODV deferred route lookup test case (see bug 772)
+ * \brief AODV deferred route lookup test case (see \bugid{772})
*
* \todo describe expected packet trace
*/
--- a/src/applications/test/udp-client-server-test.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/applications/test/udp-client-server-test.cc Thu Aug 15 12:01:57 2013 -0700
@@ -257,7 +257,7 @@
}
/**
- * Test fix for bug 1378
+ * Test fix for \bugid{1378}
*/
class UdpEchoClientSetFillTestCase : public TestCase
--- a/src/core/model/int64x64.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/core/model/int64x64.cc Thu Aug 15 12:01:57 2013 -0700
@@ -43,7 +43,8 @@
// Save stream format flags
std::ios_base::fmtflags ff = os.flags ();
- { // See bug 1737: gcc libstc++ 4.2 bug
+ { /// \internal
+ /// See \bugid{1737}: gcc libstc++ 4.2 bug
if (hi == 0)
{
os << '+';
--- a/src/core/model/log.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/core/model/log.cc Thu Aug 15 12:01:57 2013 -0700
@@ -558,8 +558,10 @@
void LogSetTimePrinter (LogTimePrinter printer)
{
g_logTimePrinter = printer;
- // This is the only place where we are more or less sure that all log variables
- // are registered. See bug 1082 for details.
+ /** \internal
+ * This is the only place where we are more or less sure that all log variables
+ * are registered. See \bugid{1082} for details.
+ */
CheckEnvironmentVariables();
}
LogTimePrinter LogGetTimePrinter (void)
--- a/src/core/test/int64x64-test-suite.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/core/test/int64x64-test-suite.cc Thu Aug 15 12:01:57 2013 -0700
@@ -170,6 +170,9 @@
CHECK_EXPECTED (V (2000000000) / V (3) * V (3), 1999999999);
}
+/**
+ * See \bugid{455}
+ */
class Int64x64Bug455TestCase : public TestCase
{
public:
@@ -201,6 +204,9 @@
NS_TEST_ASSERT_MSG_EQ (a.GetDouble (), -2.5, "only second operand negative");
}
+/**
+ * See \bugid{863}
+ */
class Int64x64Bug863TestCase : public TestCase
{
public:
--- a/src/dsr/model/dsr-routing.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/dsr/model/dsr-routing.cc Thu Aug 15 12:01:57 2013 -0700
@@ -489,11 +489,11 @@
return;
}
newP->RemoveHeader(llc);
- /*
+ /** \internal
* Tried to use peekheader here, but for ipv4 header here,
* dsr removes the Ipv4Header and then pass the packet and the header
* separately to Ipv4L3Protocol. Ipv4L3Protocol then re-adds them
- * together, which causes the problem. Check Bug 1479
+ * together, which causes the problem. Check \bugid{1479}
*/
ArpHeader arp;
if(newP->PeekHeader (arp))
--- a/src/internet/model/arp-l3-protocol.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/internet/model/arp-l3-protocol.cc Thu Aug 15 12:01:57 2013 -0700
@@ -187,9 +187,9 @@
NS_LOG_LOGIC (cache->GetInterface ()->GetAddress (i).GetLocal () << ", ");
}
- /**
+ /** \internal
* Note: we do not update the ARP cache when we receive an ARP request
- * from an unknown node. See bug #107
+ * from an unknown node. See \bugid{107}
*/
bool found = false;
for (uint32_t i = 0; i < cache->GetInterface ()->GetNAddresses (); i++)
--- a/src/internet/model/nsc-tcp-l4-protocol.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/internet/model/nsc-tcp-l4-protocol.cc Thu Aug 15 12:01:57 2013 -0700
@@ -450,7 +450,7 @@
// IP address of the subnet but this was found to fail for
// some use cases in /30 subnets.
- /// \todo Bug 1398 NSC's limitation to single-interface nodes
+ /// \todo \bugid{1398} NSC's limitation to single-interface nodes
m_nscStack->add_default_gateway (addrOss.str ().c_str ());
}
}
--- a/src/internet/model/tcp-socket-base.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/internet/model/tcp-socket-base.cc Thu Aug 15 12:01:57 2013 -0700
@@ -446,8 +446,9 @@
TcpSocketBase::Close (void)
{
NS_LOG_FUNCTION (this);
- // First we check to see if there is any unread rx data
- // Bug number 426 claims we should send reset in this case.
+ /// \internal
+ /// First we check to see if there is any unread rx data.
+ /// \bugid{426} claims we should send reset in this case.
if (m_rxBuffer.Size () != 0)
{
NS_LOG_INFO ("Socket " << this << " << unread rx data during close. Sending reset");
--- a/src/lte/model/epc-enb-application.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/lte/model/epc-enb-application.cc Thu Aug 15 12:01:57 2013 -0700
@@ -243,7 +243,8 @@
NS_ASSERT (socket == m_lteSocket);
Ptr<Packet> packet = socket->Recv ();
- // workaround for bug 231 https://www.nsnam.org/bugzilla/show_bug.cgi?id=231
+ /// \internal
+ /// Workaround for \bugid{231}
SocketAddressTag satag;
packet->RemovePacketTag (satag);
@@ -279,7 +280,8 @@
std::map<uint32_t, EpsFlowId_t>::iterator it = m_teidRbidMap.find (teid);
NS_ASSERT (it != m_teidRbidMap.end ());
- // workaround for bug 231 https://www.nsnam.org/bugzilla/show_bug.cgi?id=231
+ /// \internal
+ /// Workaround for \bugid{231}
SocketAddressTag tag;
packet->RemovePacketTag (tag);
--- a/src/lte/model/epc-sgw-pgw-application.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/lte/model/epc-sgw-pgw-application.cc Thu Aug 15 12:01:57 2013 -0700
@@ -176,7 +176,8 @@
packet->RemoveHeader (gtpu);
uint32_t teid = gtpu.GetTeid ();
- // workaround for bug 231 https://www.nsnam.org/bugzilla/show_bug.cgi?id=231
+ /// \internal
+ /// Workaround for \bugid{231}
SocketAddressTag tag;
packet->RemovePacketTag (tag);
--- a/src/mpi/examples/nms-p2p-nix-distributed.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/mpi/examples/nms-p2p-nix-distributed.cc Thu Aug 15 12:01:57 2013 -0700
@@ -62,6 +62,11 @@
NS_LOG_COMPONENT_DEFINE ("CampusNetworkModelDistributed");
+ /**
+ * \internal
+ * \c #defines for \c nCN and \c nLANClients are a temporary fix,
+ * see \bugid{1560}
+ */
int
main (int argc, char *argv[])
{
--- a/src/network/model/address.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/network/model/address.cc Thu Aug 15 12:01:57 2013 -0700
@@ -123,7 +123,8 @@
{
NS_LOG_FUNCTION (this << static_cast<uint32_t> (type) << static_cast<uint32_t> (len));
NS_ASSERT (len <= MAX_SIZE);
- // Mac address type/length detection is discussed in bug 1568
+ /// \internal
+ /// Mac address type/length detection is discussed in \bugid{1568}
return (m_len == len && m_type == type) || (m_len >= len && m_type == 0);
}
bool
--- a/src/network/test/buffer-test.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/network/test/buffer-test.cc Thu Aug 15 12:01:57 2013 -0700
@@ -243,7 +243,8 @@
i.Prev (100);
i.WriteU8 (1, 100);
- // Bug #54
+ /// \internal
+ /// See \bugid{54}
{
const uint32_t actualSize = 72602;
const uint32_t chunkSize = 67624;
@@ -301,7 +302,7 @@
i.Write (buffer.Begin (), buffer.End ());
ENSURE_WRITTEN_BYTES (other, 9, 0x1, 0x2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3, 0x4);
- // BUG #1001
+ /// \internal See \bugid{1001}
std::string ct ("This is the next content of the buffer.");
buffer = Buffer ();
buffer.AddAtStart (ct.size ());
--- a/src/network/test/packet-metadata-test.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/network/test/packet-metadata-test.cc Thu Aug 15 12:01:57 2013 -0700
@@ -696,7 +696,8 @@
p = Create<Packet> (16384);
- // bug 179.
+ /// \internal
+ /// See \bugid{179}
p = Create<Packet> (40);
p2 = p->CreateFragment (5, 5);
p3 = p->CreateFragment (10, 30);
@@ -768,7 +769,8 @@
p->RemoveAtStart (10);
CHECK_HISTORY (p, 1, 490);
- // bug 1072
+ /// \internal
+ /// See \bugid{1072}
p = Create<Packet> (500);
ADD_HEADER (p, 10);
ADD_HEADER (p, 20);
@@ -778,7 +780,8 @@
p2 = p->CreateFragment (6,535-6);
p1->AddAtEnd (p2);
- // bug 1072#2
+ /// \internal
+ /// See \bugid{1072}
p = Create<Packet> (reinterpret_cast<const uint8_t*> ("hello world"), 11);
ADD_HEADER (p, 2);
CHECK_HISTORY (p, 2, 2, 11);
--- a/src/network/test/packet-test-suite.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/network/test/packet-test-suite.cc Thu Aug 15 12:01:57 2013 -0700
@@ -437,7 +437,8 @@
}
{
- // bug 572
+ /// \internal
+ /// See \bugid{572}
Ptr<Packet> tmp = Create<Packet> (1000);
tmp->AddByteTag (ATestTag<20> ());
CHECK (tmp, 1, E (20, 0, 1000));
--- a/src/nix-vector-routing/model/ipv4-nix-vector-routing.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/nix-vector-routing/model/ipv4-nix-vector-routing.cc Thu Aug 15 12:01:57 2013 -0700
@@ -136,7 +136,8 @@
}
// if source == dest, then we have a special case
- // Do not process packets to self (see bug 1308)
+ /// \internal
+ /// Do not process packets to self (see \bugid{1308})
if (source == destNode)
{
NS_LOG_DEBUG ("Do not processs packets to self");
--- a/src/olsr/test/bug780-test.h Wed Aug 07 11:29:45 2013 -0700
+++ b/src/olsr/test/bug780-test.h Thu Aug 15 12:01:57 2013 -0700
@@ -27,6 +27,7 @@
{
namespace olsr
{
+ /** See \bugid{780} */
class Bug780Test : public TestCase
{
public:
--- a/src/wifi/test/wifi-test.cc Wed Aug 07 11:29:45 2013 -0700
+++ b/src/wifi/test/wifi-test.cc Thu Aug 15 12:01:57 2013 -0700
@@ -178,6 +178,10 @@
};
//-----------------------------------------------------------------------------
+/**
+ * \internal
+ * See \bugid{991}
+ */
class InterferenceHelperSequenceTest : public TestCase
{
public:
@@ -312,6 +316,9 @@
* backoff again. As a result, the _actual_ backoff experience by frame 2 is less likely to be 0
* since that would require two successions of 0 backoff (one that generates the virtual collision and
* one after the virtual collision).
+ *
+ * \internal
+ * See \bugid{555}
*/
class Bug555TestCase : public TestCase