diff --git a/CHANGES.html b/CHANGES.html
index fd7275326..b865b8d1b 100644
--- a/CHANGES.html
+++ b/CHANGES.html
@@ -60,6 +60,9 @@ by the ns-3 logging system to report the execution context of each log line.
Object::DoStart: Users who need to complete their object setup at the start of a simulation
can override this virtual method, perform their adhoc setup, and then, must chain up to their parent.
+
+- Default TTL of IPv4 broadcast datagrams changed from 1 to 64.
+
Changes to existing API:
diff --git a/src/internet-stack/ipv4-l3-protocol.cc b/src/internet-stack/ipv4-l3-protocol.cc
index 917548654..df612dc9b 100644
--- a/src/internet-stack/ipv4-l3-protocol.cc
+++ b/src/internet-stack/ipv4-l3-protocol.cc
@@ -406,6 +406,7 @@ Ipv4L3Protocol::Receive( Ptr device, Ptr p, uint16_t pr
for (SocketList::iterator i = m_sockets.begin (); i != m_sockets.end (); ++i)
{
+ NS_LOG_LOGIC ("Forwarding to raw socket");
Ptr socket = *i;
socket->ForwardUp (packet, ipHeader, device);
}
@@ -469,7 +470,6 @@ Ipv4L3Protocol::Send (Ptr packet,
if (destination.IsBroadcast ())
{
NS_LOG_LOGIC ("Ipv4L3Protocol::Send case 1: limited broadcast");
- ttl = 1;
ipHeader = BuildHeader (source, destination, protocol, packet->GetSize (), ttl, mayFragment);
uint32_t ifaceIndex = 0;
for (Ipv4InterfaceList::iterator ifaceIter = m_interfaces.begin ();
@@ -502,7 +502,6 @@ Ipv4L3Protocol::Send (Ptr packet,
destination.CombineMask (ifAddr.GetMask ()) == ifAddr.GetLocal ().CombineMask (ifAddr.GetMask ()) )
{
NS_LOG_LOGIC ("Ipv4L3Protocol::Send case 2: subnet directed bcast to " << ifAddr.GetLocal ());
- ttl = 1;
ipHeader = BuildHeader (source, destination, protocol, packet->GetSize (), ttl, mayFragment);
Ptr packetCopy = packet->Copy ();
m_sendOutgoingTrace (ipHeader, packetCopy, ifaceIndex);