equal
deleted
inserted
replaced
242 hdr.CalculatePseudoHeaderChecksum (route->GetSource (), dst, p->GetSize () + hdr.GetSerializedSize (), Icmpv6L4Protocol::GetStaticProtocolNumber ()); |
242 hdr.CalculatePseudoHeaderChecksum (route->GetSource (), dst, p->GetSize () + hdr.GetSerializedSize (), Icmpv6L4Protocol::GetStaticProtocolNumber ()); |
243 p->AddHeader (hdr); |
243 p->AddHeader (hdr); |
244 } |
244 } |
245 } |
245 } |
246 |
246 |
247 ipv6->Send (p, route->GetSource (), dst, m_protocol, route); |
247 if (m_src.IsAny ()) |
|
248 { |
|
249 ipv6->Send (p, route->GetSource (), dst, m_protocol, route); |
|
250 } |
|
251 else |
|
252 { |
|
253 ipv6->Send (p, m_src, dst, m_protocol, route); |
|
254 } |
248 // Return only payload size (as Linux does). |
255 // Return only payload size (as Linux does). |
249 return p->GetSize () - hdr.GetSerializedSize (); |
256 return p->GetSize () - hdr.GetSerializedSize (); |
250 } |
257 } |
251 else |
258 else |
252 { |
259 { |