--- a/src/internet/model/ipv4-raw-socket-impl.cc Thu Nov 22 07:15:19 2012 -0800
+++ b/src/internet/model/ipv4-raw-socket-impl.cc Sun Nov 11 16:29:57 2012 +0100
@@ -311,6 +311,16 @@
{
return false;
}
+
+ Ptr<NetDevice> boundNetDevice = Socket::GetBoundNetDevice();
+ if (boundNetDevice)
+ {
+ if (boundNetDevice != incomingInterface->GetDevice())
+ {
+ return false;
+ }
+ }
+
NS_LOG_LOGIC ("src = " << m_src << " dst = " << m_dst);
if ((m_src == Ipv4Address::GetAny () || ipHeader.GetDestination () == m_src) &&
(m_dst == Ipv4Address::GetAny () || ipHeader.GetSource () == m_dst) &&