diff --git a/.hgtags b/.hgtags
index 9c382aec9..e38d93c33 100644
--- a/.hgtags
+++ b/.hgtags
@@ -31,3 +31,4 @@ dfd0bc16dc991313896f351530a3dc5a25f62e15 ns-3.3-RC4
58ae52c5845ff03ba08dc921e13e6cf3604c810a ns-3.3-RC5
4267fd454004f5a60e517496f43a01000ccebc72 ns-3.3-RC6
2efae18e73794c0acd8061a9bd5c74b69f1b0d93 ns-3.3
+5396ecd09060bcb1e7b1f750bb170cbfde7a77c2 ns-3.4
diff --git a/AUTHORS b/AUTHORS
index 71bd5f3a3..65ab81a16 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -14,4 +14,14 @@ David Gross (gdavid.devel@gmail.com)
Mehdi Benamor (mehdi.benamor@telecom-bretagne.eu)
Angelos Chatzipapas (chatzipa@ceid.upatras.gr)
Luis Cortes (cortes@gatech.edu)
+Kulin Shah (m.kulin@gmail.com)
+Sam Jansen (sam.jansen@gmail.com)
+Timo Bingmann (timo.bingmann@student.kit.edu)
+Kirill V. Andreev (kirillano@yandex.ru)
+Providence Salumu Munga (Providence.Salumu@gmail.com, Providence.Salumu_Munga@it-sudparis.eu)
+Mauro Tortonesi (mauro.tortonesi@unife.it)
+Aleksey Kovalenko (kovalenko@iitp.ru)
+Liu Jian (liujatp@gmail.com)
+Andrey Hippo (ahippo@yandex.ru)
+Francesco Malandrino (francesco.malandrino@gmail.com)
diff --git a/CHANGES.html b/CHANGES.html
index bac58e3c1..8e9f45398 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -44,53 +44,100 @@ to this file based on your experience, please contribute a patch or drop
us a note on ns-developers mailing list.
-changes from ns-3.3 to ns-3.4
+Changes from ns-3.3 to ns-3.4
-new API:
+Changes to build system
+- A major option regarding the downloading and building of ns-3 has been
+added for ns-3.4 -- the ns-3-allinone feature. This allows a user to
+get the most common options for ns-3 downloaded and built with a minimum
+amount of trouble. See the ns-3 tutorial for a detailed explanation of
+how to use this new feature.
+
+- The build system now runs build items in parallel by default. This includes
+the regression tests.
+
+
+New API:
+
+- XML support has been added to the ConfigStore in /src/contrib/config-store.cc
+
+- The ns-2 calendar queue scheduler option has been ported to src/simulator
+
+- A ThreeLogDistancePropagationLossModel has been added to src/devices/wifi
+
- ConstantAccelerationMobilityModel in src/mobility/constant-acceleration-mobility-model.h
+
+- A new emulation mode is supported with the TapBridge net device (see
+src/devices/tap-bridge)
+
+- A new facility for naming ns-3 Objects is included (see
+src/core/names.{cc,h})
+
+- Wifi multicast support has been added in src/devices/wifi
+Changes to existing API:
+
-- A new emulation mode is supported with the TapBridge net device (see
-- src/devices/tap-bridge)
+- Some fairly significant changes have been made to the API of the
+random variable code. Please see the ns-3 manual and src/core/random-variable.cc
+for details.
+
+- The trace sources in the various NetDevice classes has been completely
+reworked to allow for a consistent set of trace sources across the
+devices. The names of the trace sources have been changed to provide
+some context with respect to the level at which the trace occurred.
+A new set of trace sources has been added which emulates the behavior
+of packet sniffers. These sources have been used to implement tcpdump-
+like functionality and are plumbed up into the helper classes. The
+user-visible changes are the trace source name changes and the ability
+to do promiscuous-mode pcap tracing via helpers. For further information
+regarding these changes, please see the ns-3 manual
+
+- StaticMobilityModel has been renamed ConstantPositionMobilityModel
+StaticSpeedMobilityModel has been renamed ConstantVelocityMobilityModel
+
+- The Callback templates have been extended to support more parameters.
+See src/core/callback.h
+
+- Many helper API have been changed to allow passing Object-based parameters
+as string names to ease working with the object name service.
+
+- The Config APIs now accept path segments that are names defined by the
+object name service.
+
+- Minor changes were made to make the system build under the Intel C++ compiler.
+
+- Trace hooks for association and deassociation to/from an access point were
+added to src/devices/wifi/nqsta-wifi-mac.cc
-
-- A new facility for naming ns-3 Objects is included (see
-- src/core/names.{cc,h})
-
-
-changes to existing API:
+Changed behavior:
-- The trace sources in the various NetDevice classes has been completely
-- reworked to allow for a consistent set of trace sources across the
-- devices. The names of the trace sources have been changed to provide
-- some context with respect to the level at which the trace occurred.
-- A new set of trace sources has been added which emulates the behavior
-- of packet sniffers. These sources have been used to implement tcpdump-
-- like functionality and are plumbed up into the helper classes. The
-- user-visible changes are the trace source name changes and the ability
-- to do promiscuous-mode pcap tracing via helpers. For further information
-- regarding these changes, please see the ns-3 manual
-
-
-
-- StaticMobilityModel has been renamed ConstantPositionMobilityModel
-- StaticSpeedMobilityModel has been renamed ConstantVelocityMobilityModel
+- The tracing system rework has introduced some significant changes in the
+behavior of some trace sources, specifically in the positioning of trace sources
+in the device code. For example, there were cases where the packet transmit
+trace source was hit before the packet was enqueued on the device transmit quueue.
+This now happens just before the packet is transmitted over the channel medium.
+The scope of the changes is too large to be included here. If you have concerns
+regarding trace semantics, please consult the net device documentation for details.
+As is usual, the ultimate source for documentation is the net device source code.
-changes from ns-3.2 to ns-3.3
+Changes from ns-3.2 to ns-3.3
-new API:
+New API:
-- ns-3 ABORT macros in src/core/abort.h
-- Config::MatchContainer
-- ConstCast and DynamicCast helper functions for Ptr casting
-- StarTopology added to several topology helpers
-- NetDevice::IsBridge ()
+-
+ns-3 ABORT macros in src/core/abort.h
+Config::MatchContainer
+ConstCast and DynamicCast helper functions for Ptr casting
+StarTopology added to several topology helpers
+NetDevice::IsBridge ()
+
- 17-11-2008; changeset
4c1c3f6bcd03
@@ -120,7 +167,7 @@ hook ascii trace to the drop trace events in Ipv4L3Protocol and ArpL3Protocol.
-changes to existing API:
+Changes to existing API:
- NetDevice::MakeMulticastAddress() was renamed to NetDevice::GetMulticast()
@@ -187,9 +234,9 @@ Global routing supports bridge devices.
-changes from ns-3.1 to ns-3.2
+Changes from ns-3.1 to ns-3.2
-new API:
+New API:
- 26-08-2008; changeset
@@ -213,7 +260,7 @@ multithreaded simulator implementation.
-new API in existing classes:
+New API in existing classes:
- 01-08-2008; changeset
@@ -226,7 +273,7 @@ mostly for internal use.
-changes to existing API:
+Changes to existing API:
- 05-09-2008; changeset
@@ -364,7 +411,7 @@ Rename all instances method names using "Set..Parameter" to "Set..Attribute"
-changed behavior:
+Changed behavior:
- 07-09-2008; changeset
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 40196af8e..bed5b44b9 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -8,8 +8,8 @@ http://www.nsnam.org
including tutorials:
http://www.nsnam.org/tutorials.html
-Release 3.4 (pending)
-=====================
+Release 3.4
+===========
Availability
------------
@@ -18,7 +18,7 @@ http://www.nsnam.org/releases/ns-3.4.tar.bz2
Supported platforms
-------------------
-ns-3.2 has been tested on the following platforms:
+ns-3.4 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
@@ -34,6 +34,19 @@ New user-visible features
propagation loss model based on the ns-2 models. Fabian Mauchle contributed
multicast support.
+ b) Object Name Service: A facility allowing ns-3 Objects to be assigned
+ names has been added.
+
+ c) Tap Bridge: A second option for integrating ns-3 with real-world hosts
+ has been added. This allows for real hosts to talk over ns-3 net devices
+ and simulated networks.
+
+ d) A new build option (ns-3-allinone) has been provided to make it easier for
+ users to download and bulid commonly used ns-3 configurations.
+
+ e) The ns-3 calendar queue scheduler has been ported to ns-3.
+
+ f) XML support has been added to the ConfigStore.
API changes from ns-3.3
-----------------------
@@ -56,7 +69,8 @@ Future releases
Our next release, which is expected to happen in 2 to 4 months from now, will
feature the merging of some of our projects currently in development including
fuller IPv6 support, and IPv4 and routing protocol refactoring, and some smaller
-features such as an object naming facility and a new Global ARP package.
+features such as a new Global ARP package and possibly a new Testing and Validation
+suite,
Release 3.3
===========
@@ -68,7 +82,7 @@ http://www.nsnam.org/releases/ns-3.3.tar.bz2
Supported platforms
-------------------
-ns-3.2 has been tested on the following platforms:
+ns-3.3 has been tested on the following platforms:
- linux x86 gcc 4.2, 4.1, and, 3.4.6.
- linux x86_64 gcc 4.3.2, 4.2.3, 4.2.1, 4.1.3, 3.4.6
- MacOS X ppc and x86
diff --git a/doc/tutorial/getting-started.texi b/doc/tutorial/getting-started.texi
index d0b18cd94..a4bc52aac 100644
--- a/doc/tutorial/getting-started.texi
+++ b/doc/tutorial/getting-started.texi
@@ -257,8 +257,7 @@ get a copy of a release by typing the following into your Linux shell
mkdir tarballs
cd tarballs
wget http://www.nsnam.org/releases/ns-allinone-3.4.tar.bz2
- bunzip2 ns-allinone-3.4.tar.bz2
- tar xf ns-3.4.tar
+ tar xjf ns-3.4.tar.bz2
@end verbatim
If you change into the directory @code{ns-allinone-3.4} you should see a
diff --git a/src/devices/mesh/dot11s/dot11s-helper.cc b/src/devices/mesh/dot11s/dot11s-helper.cc
index b5b5d4b4e..c70231b76 100644
--- a/src/devices/mesh/dot11s/dot11s-helper.cc
+++ b/src/devices/mesh/dot11s/dot11s-helper.cc
@@ -128,12 +128,12 @@ MeshWifiHelper::Install (const WifiPhyHelper &phyHelper, NodeContainer c, uint32
// Install 802.11s protocols
Ptr pmp = CreateObject ();
- bool pmp_ok = pmp->Install (mp);
- NS_ASSERT (pmp_ok);
+ bool install_ok = pmp->Install (mp);
+ NS_ASSERT (install_ok);
Ptr hwmp = CreateObject ();
- bool hwmp_ok = hwmp->Install (mp);
- NS_ASSERT (hwmp_ok);
+ install_ok = hwmp->Install (mp);
+ NS_ASSERT (install_ok);
pmp->SetPeerLinkStatusCallback(MakeCallback(&HwmpProtocol::PeerLinkStatus, hwmp));
hwmp->SetNeighboursCallback(MakeCallback(&PeerManagementProtocol::GetActiveLinks, pmp));