mirror of
https://github.com/espressif/openthread.git
synced 2026-09-04 00:00:06 +00:00
[ip6] bypass filtering for multicast addresses larger than RealmLocal (#12074)
Multicast addresses with scope larger than `RealmLocal` are no longer subject to the standard receive filter. They are passed directly to the host callback, allowing delivery and forwarding by the host. This fixes a scenario where a `Thread Border Router` receives a larger-scope multicast from a `Thread Device`. Previously, if the Border Router was listening on the same multicast address and port, the receive filter could drop the packet, preventing it from being forwarded to other interfaces.
This commit is contained in:
@@ -963,7 +963,7 @@ Error Ip6::PassToHost(OwnedPtr<Message> &aMessagePtr,
|
||||
VerifyOrExit(aReceive, error = kErrorDrop);
|
||||
}
|
||||
|
||||
if (mReceiveFilterEnabled && aReceive)
|
||||
if (mReceiveFilterEnabled && aReceive && !aHeader.GetDestination().IsMulticastLargerThanRealmLocal())
|
||||
{
|
||||
switch (aIpProto)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user