diff -r 6e16bf523c55 src/node/packet-socket.cc --- a/src/node/packet-socket.cc Wed Mar 03 08:33:26 2010 -0800 +++ b/src/node/packet-socket.cc Fri Mar 05 14:51:00 2010 +0000 @@ -358,7 +358,10 @@ { return; } - + if (!HasDataRecvCallback ()) + { + return; + } PacketSocketAddress address; address.SetPhysicalAddress (from); diff -r 6e16bf523c55 src/node/socket.h --- a/src/node/socket.h Wed Mar 03 08:33:26 2010 -0800 +++ b/src/node/socket.h Fri Mar 05 14:51:00 2010 +0000 @@ -555,6 +555,7 @@ void NotifyDataSent (uint32_t size); void NotifySend (uint32_t spaceAvailable); void NotifyDataRecv (void); + bool HasDataRecvCallback () const { return !m_receivedData.IsNull (); } virtual void DoDispose (void); Ptr m_boundnetdevice; private: