mirror of
https://github.com/espressif/openthread.git
synced 2026-08-12 05:37:46 +00:00
[mesh-forwarder] always set direct transmission for MPL messages (#11887)
This commit is contained in:
@@ -61,11 +61,10 @@ void MeshForwarder::SendMessage(OwnedPtr<Message> aMessagePtr)
|
||||
|
||||
if (destination.IsMulticast())
|
||||
{
|
||||
// For traffic destined to multicast address larger than realm local, generally it uses IP-in-IP
|
||||
// encapsulation (RFC2473), with outer destination as ALL_MPL_FORWARDERS. So here if the destination
|
||||
// is multicast address larger than realm local, it should be for indirection transmission for the
|
||||
// device's sleepy child, thus there should be no direct transmission.
|
||||
if (!destination.IsMulticastLargerThanRealmLocal())
|
||||
// A non-link-local multicast message that does not
|
||||
// contain an MPL Option should only be forwarded to
|
||||
// children using indirect transmissions.
|
||||
if (destination.IsLinkLocalMulticast() || ip6Header.GetNextHeader() == Ip6::kProtoHopOpts)
|
||||
{
|
||||
message.SetDirectTransmission();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user