Try to preserve API compatibility, after SendFrom / promiscuous mode changes.

This commit is contained in:
Gustavo J. A. M. Carneiro
2008-07-04 19:15:00 +01:00
parent 1c8622e4f8
commit ab714db3a9
5 changed files with 43 additions and 3 deletions

View File

@@ -96,7 +96,10 @@ Node::AddDevice (Ptr<NetDevice> device)
device->SetNode (this);
device->SetIfIndex(index);
device->SetReceiveCallback (MakeCallback (&Node::ReceiveFromDevice, this));
device->SetPromiscuousReceiveCallback (MakeCallback (&Node::PromiscuousReceiveFromDevice, this));
if (device->SupportsPromiscuousReceiveCallback ())
{
device->SetPromiscuousReceiveCallback (MakeCallback (&Node::PromiscuousReceiveFromDevice, this));
}
NotifyDeviceAdded (device);
return index;
}
@@ -191,6 +194,10 @@ Node::RegisterPromiscuousProtocolHandler (PromiscuousProtocolHandler handler,
entry.handler = handler;
entry.protocol = protocolType;
entry.device = device;
if (device)
{
NS_ASSERT (device->SupportsPromiscuousReceiveCallback ());
}
m_promiscuousHandlers.push_back (entry);
}