|
|
| 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); |