|
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 |
{ |