--- a/RELEASE_NOTES Sun Mar 23 16:56:59 2014 +0400
+++ b/RELEASE_NOTES Tue Mar 25 21:46:09 2014 +0100
@@ -61,6 +61,7 @@
- Bug 1874 - Ipv4L3Protocol::ProcessFragment: addressCombination and idProto identifiers not properly computed
- Bug 1882 - int64x64 tests trigger valgrind bug
- Bug 1883 - IPv6 don't consider the prefix and network when choosing output address
+- Bug 1887 - Point-to-point traces should contain PPP headers
Release 3.19
=============
--- a/src/point-to-point/model/point-to-point-net-device.cc Sun Mar 23 16:56:59 2014 +0400
+++ b/src/point-to-point/model/point-to-point-net-device.cc Tue Mar 25 21:46:09 2014 +0100
@@ -318,7 +318,7 @@
{
//
// Hit the trace hooks. All of these hooks are in the same place in this
- // device becuase it is so simple, but this is not usually the case in
+ // device because it is so simple, but this is not usually the case in
// more complicated devices.
//
m_snifferTrace (packet);
@@ -326,6 +326,12 @@
m_phyRxEndTrace (packet);
//
+ // Trace sinks will expect complete packets, not packets without some of the
+ // headers.
+ //
+ Ptr<Packet> originalPacket = packet->Copy ();
+
+ //
// Strip off the point-to-point protocol header and forward this packet
// up the protocol stack. Since this is a simple point-to-point link,
// there is no difference in what the promisc callback sees and what the
@@ -335,11 +341,11 @@
if (!m_promiscCallback.IsNull ())
{
- m_macPromiscRxTrace (packet);
+ m_macPromiscRxTrace (originalPacket);
m_promiscCallback (this, packet, protocol, GetRemote (), GetAddress (), NetDevice::PACKET_HOST);
}
- m_macRxTrace (packet);
+ m_macRxTrace (originalPacket);
m_rxCallback (this, packet, protocol, GetRemote ());
}
}