|
|
| 116 |
return; /* no NDISC cache for ip6-localhost */ |
116 |
return; /* no NDISC cache for ip6-localhost */ |
| 117 |
} |
117 |
} |
| 118 |
|
118 |
|
| 119 |
Ptr<Icmpv6L4Protocol> icmpv6 = m_node->GetObject<Ipv6L3Protocol> ()->GetIcmpv6 (); |
119 |
Ptr<IpL4Protocol> proto = m_node->GetObject<Ipv6> ()->GetProtocol (Icmpv6L4Protocol::GetStaticProtocolNumber ()); |
| 120 |
m_ndCache = icmpv6->CreateCache (m_device, this); |
120 |
Ptr<Icmpv6L4Protocol> icmpv6; |
|
|
121 |
if (proto) |
| 122 |
{ |
| 123 |
icmpv6 = proto->GetObject <Icmpv6L4Protocol> (); |
| 124 |
} |
| 125 |
if (icmpv6) |
| 126 |
{ |
| 127 |
m_ndCache = icmpv6->CreateCache (m_device, this); |
| 128 |
} |
| 121 |
} |
129 |
} |
| 122 |
|
130 |
|
| 123 |
void Ipv6Interface::SetNode (Ptr<Node> node) |
131 |
void Ipv6Interface::SetNode (Ptr<Node> node) |
|
|
| 216 |
if (!addr.IsAny () || !addr.IsLocalhost ()) |
224 |
if (!addr.IsAny () || !addr.IsLocalhost ()) |
| 217 |
{ |
225 |
{ |
| 218 |
/* DAD handling */ |
226 |
/* DAD handling */ |
| 219 |
Ptr<Icmpv6L4Protocol> icmpv6 = m_node->GetObject<Ipv6L3Protocol> ()->GetIcmpv6 (); |
227 |
Ptr<IpL4Protocol> proto = m_node->GetObject<Ipv6> ()->GetProtocol (Icmpv6L4Protocol::GetStaticProtocolNumber ()); |
|
|
228 |
Ptr<Icmpv6L4Protocol> icmpv6; |
| 229 |
if (proto) |
| 230 |
{ |
| 231 |
icmpv6 = proto->GetObject <Icmpv6L4Protocol> (); |
| 232 |
} |
| 220 |
|
233 |
|
| 221 |
if (icmpv6 && icmpv6->IsAlwaysDad ()) |
234 |
if (icmpv6 && icmpv6->IsAlwaysDad ()) |
| 222 |
{ |
235 |
{ |