--- a/src/internet-stack/arp-cache.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/arp-cache.h Fri Sep 12 16:12:58 2008 -0700
@@ -40,6 +40,7 @@
class Ipv4Interface;
/**
+ * \ingroup arp
* \brief An ARP cache
*
* A cached lookup table for translating layer 3 addresses to layer 2.
--- a/src/internet-stack/arp-header.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/arp-header.h Fri Sep 12 16:12:58 2008 -0700
@@ -28,6 +28,7 @@
namespace ns3 {
/**
+ * \ingroup arp
* \brief The packet header for an ARP packet
*/
class ArpHeader : public Header
--- a/src/internet-stack/arp-ipv4-interface.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/arp-ipv4-interface.h Fri Sep 12 16:12:58 2008 -0700
@@ -30,6 +30,7 @@
class ArpCache;
/**
+ * \ingroup arp
* \brief an Ipv4 Interface which uses ARP
*
* If you need to use ARP on top of a specific NetDevice, you
--- a/src/internet-stack/arp-l3-protocol.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/arp-l3-protocol.h Fri Sep 12 16:12:58 2008 -0700
@@ -36,6 +36,13 @@
class Packet;
/**
+ * \ingroup internetStack
+ * \defgroup arp Arp
+ *
+ * This is an overview of Arp capabilities (write me).
+ */
+/**
+ * \ingroup arp
* \brief An implementation of the ARP protocol
*/
class ArpL3Protocol : public Object
--- a/src/internet-stack/nsc-tcp-l4-protocol.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/nsc-tcp-l4-protocol.h Fri Sep 12 16:12:58 2008 -0700
@@ -38,7 +38,9 @@
class Socket;
class TcpHeader;
/**
- * \brief Nsc wrapper glue.
+ * \ingroup nsctcp
+ *
+ * \brief Nsc wrapper glue, to interface with the Ipv4 protocol underneath.
*/
class NscTcpL4Protocol : public Ipv4L4Protocol, ISendCallback, IInterruptCallback {
public:
--- a/src/internet-stack/nsc-tcp-socket-factory-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/nsc-tcp-socket-factory-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -23,6 +23,24 @@
class NscTcpL4Protocol;
+/**
+ * \ingroup internetStack
+ * \defgroup nsctcp NscTcp
+ *
+ * An alternate implementation of TCP for ns-3 is provided by the
+ * Network Simulation Cradle (NSC) project. NSC is a separately linked
+ * library that provides ported TCP stacks from popular operating systems
+ * such as Linux and FreeBSD. Glue code such as the ns-3 NSC code
+ * allows users to delegate Internet stack processing to the logic
+ * from these operating systems. This allows a user to reproduce
+ * with high fidelity the behavior of a real TCP stack.
+ */
+
+/**
+ * \ingroup nsctcp
+ *
+ * \brief socket factory implementation for creating instances of NSC TCP
+ */
class NscTcpSocketFactoryImpl : public TcpSocketFactory
{
public:
--- a/src/internet-stack/nsc-tcp-socket-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/nsc-tcp-socket-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -40,6 +40,16 @@
class NscTcpL4Protocol;
class TcpHeader;
+/**
+ * \ingroup socket
+ * \ingroup nsctcp
+ *
+ * \brief Socket logic for the NSC TCP sockets.
+ *
+ * Most of the TCP internal
+ * logic is handled by the NSC tcp library itself; this class maps ns3::Socket
+ * calls to the NSC TCP library.
+ */
class NscTcpSocketImpl : public TcpSocket
{
public:
--- a/src/internet-stack/pending-data.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/pending-data.h Fri Sep 12 16:12:58 2008 -0700
@@ -33,6 +33,11 @@
{
class Packet;
+/**
+ * \ingroup tcp
+ *
+ * \brief class for managing I/O between applications and TCP
+ */
class PendingData {
public:
PendingData ();
--- a/src/internet-stack/rtt-estimator.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/rtt-estimator.h Fri Sep 12 16:12:58 2008 -0700
@@ -21,7 +21,6 @@
// Georgia Tech Network Simulator - Round Trip Time Estimation Class
// George F. Riley. Georgia Tech, Spring 2002
-// Implements several variations of round trip time estimators
#ifndef __rtt_estimator_h__
#define __rtt_estimator_h__
@@ -33,6 +32,11 @@
namespace ns3 {
+/**
+ * \ingroup tcp
+ *
+ * \brief Implements several variations of round trip time estimators
+ */
class RttHistory {
public:
RttHistory (SequenceNumber s, uint32_t c, Time t);
--- a/src/internet-stack/sequence-number.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/sequence-number.h Fri Sep 12 16:12:58 2008 -0700
@@ -22,8 +22,6 @@
// Georgia Tech Network Simulator - Manage 32 bit unsigned sequence numbers
// George F. Riley. Georgia Tech, Spring 2002
-// Class to manage arithmetic operations on sequence numbers (mod 2^32)
-
#ifndef __seq_h__
#define __seq_h__
@@ -31,6 +29,11 @@
#define MAX_SEQ ((uint32_t)0xffffffff)
+/**
+ * \ingroup tcp
+ *
+ * \brief Class to manage arithmetic operations on sequence numbers (mod 2^32)
+ */
class SequenceNumber {
public:
SequenceNumber () : seq(0) { }
--- a/src/internet-stack/tcp-header.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/tcp-header.h Fri Sep 12 16:12:58 2008 -0700
@@ -31,6 +31,7 @@
namespace ns3 {
/**
+ * \ingroup tcp
* \brief Header for the Transmission Control Protocol
*
* This class has fields corresponding to those in a network TCP header
--- a/src/internet-stack/tcp-l4-protocol.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/tcp-l4-protocol.h Fri Sep 12 16:12:58 2008 -0700
@@ -41,6 +41,7 @@
class TcpHeader;
/**
+ * \ingroup tcp
* \brief A layer between the sockets interface and IP
*
* This class allocates "endpoint" objects (ns3::Ipv4EndPoint) for TCP,
--- a/src/internet-stack/tcp-socket-factory-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/tcp-socket-factory-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -28,12 +28,8 @@
class TcpL4Protocol;
/**
- * \ingroup internetNode
- * \defgroup Tcp Tcp
- */
-/**
- * \ingroup Tcp
- * \section Tcp Overview
+ * \ingroup internetStack
+ * \defgroup tcp Tcp
*
* The TCP code in ns3's internet stack is ported from the
* <a href="http://www.ece.gatech.edu/research/labs/MANIACS/GTNetS/">
@@ -43,6 +39,13 @@
* This class serves to create sockets of the TcpSocketImpl
* type. That is, it creates sockets which use the GTNetS Tahoe code.
*/
+
+/**
+ * \ingroup tcp
+ *
+ * \brief socket factory implementation for native ns-3 TCP
+ *
+ */
class TcpSocketFactoryImpl : public TcpSocketFactory
{
public:
--- a/src/internet-stack/tcp-socket-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/tcp-socket-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -44,6 +44,7 @@
/**
* \ingroup socket
+ * \ingroup tcp
*
* \brief An implementation of a stream socket using TCP.
*
--- a/src/internet-stack/udp-header.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/udp-header.h Fri Sep 12 16:12:58 2008 -0700
@@ -28,6 +28,7 @@
namespace ns3 {
/**
+ * \ingroup udp
* \brief Packet header for UDP packets
*
* This class has fields corresponding to those in a network UDP header
--- a/src/internet-stack/udp-l4-protocol.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/udp-l4-protocol.h Fri Sep 12 16:12:58 2008 -0700
@@ -34,6 +34,7 @@
class Node;
class Socket;
/**
+ * \ingroup udp
* \brief Implementation of the UDP protocol
*/
class UdpL4Protocol : public Ipv4L4Protocol {
--- a/src/internet-stack/udp-socket-factory-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/udp-socket-factory-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -28,6 +28,23 @@
class UdpL4Protocol;
/**
+ * \ingroup internetStack
+ * \defgroup udp Udp
+ *
+ * This is an implementation of the User Datagram Protocol described in
+ * RFC 768. It implements a connectionless, unreliable datagram packet
+ * service. Packets may be reordered or duplicated before they arrive.
+ * UDP generates and checks checksums to catch transmission errors.
+ *
+ * The following options are not presently part of this implementation:
+ * UDP_CORK, MSG_DONTROUTE, path MTU discovery control (e.g.
+ * IP_MTU_DISCOVER). MTU handling is also weak in ns-3 for the moment;
+ * it is best to send datagrams that do not exceed 1500 byte MTU (e.g.
+ * 1472 byte UDP datagrams)
+ */
+
+/**
+ * \ingroup udp
* \brief Object to create UDP socket instances
* \internal
*
--- a/src/internet-stack/udp-socket-impl.h Fri Sep 12 11:34:25 2008 -0700
+++ b/src/internet-stack/udp-socket-impl.h Fri Sep 12 16:12:58 2008 -0700
@@ -37,6 +37,7 @@
class UdpL4Protocol;
/**
+ * \ingroup udp
* \brief A sockets interface to UDP
*
* This class subclasses ns3::UdpSocket, and provides a socket interface