|
30 |
#include "ns3/ipv6-route.h" |
30 |
#include "ns3/ipv6-route.h" |
31 |
#include "ns3/mac16-address.h" |
31 |
#include "ns3/mac16-address.h" |
32 |
#include "ns3/mac64-address.h" |
32 |
#include "ns3/mac64-address.h" |
|
|
33 |
#include "ns3/mac48-address.h" |
33 |
|
34 |
|
34 |
#include "loopback-net-device.h" |
|
|
35 |
#include "ipv6-l3-protocol.h" |
35 |
#include "ipv6-l3-protocol.h" |
36 |
#include "ipv6-interface.h" |
36 |
#include "ipv6-interface.h" |
37 |
#include "ipv6-raw-socket-impl.h" |
37 |
#include "ipv6-raw-socket-impl.h" |
|
523 |
{ |
523 |
{ |
524 |
NS_LOG_FUNCTION_NOARGS (); |
524 |
NS_LOG_FUNCTION_NOARGS (); |
525 |
Ptr<Ipv6Interface> interface = CreateObject<Ipv6Interface> (); |
525 |
Ptr<Ipv6Interface> interface = CreateObject<Ipv6Interface> (); |
526 |
Ptr<LoopbackNetDevice> device = 0; |
526 |
Ptr<NetDevice> device = m_node->GetLoopbackDevice (); |
527 |
uint32_t i = 0; |
|
|
528 |
|
529 |
/* see if we have already an loopback NetDevice */ |
530 |
for (i = 0; i < m_node->GetNDevices (); i++) |
531 |
{ |
532 |
if ((device = DynamicCast<LoopbackNetDevice> (m_node->GetDevice (i)))) |
533 |
{ |
534 |
break; |
535 |
} |
536 |
} |
537 |
|
538 |
if (device == 0) |
539 |
{ |
540 |
device = CreateObject<LoopbackNetDevice> (); |
541 |
m_node->AddDevice (device); |
542 |
} |
543 |
|
527 |
|
544 |
interface->SetDevice (device); |
528 |
interface->SetDevice (device); |
545 |
interface->SetNode (m_node); |
529 |
interface->SetNode (m_node); |