diff --git a/tests/scripts/thread-cert/Cert_5_3_03_AddressQuery.py b/tests/scripts/thread-cert/Cert_5_3_03_AddressQuery.py index bbe31de9f..39fc0d1cb 100755 --- a/tests/scripts/thread-cert/Cert_5_3_03_AddressQuery.py +++ b/tests/scripts/thread-cert/Cert_5_3_03_AddressQuery.py @@ -231,7 +231,7 @@ class Cert_5_3_3_AddressQuery(thread_cert.TestCase): must_next() pkts.filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier).\ filter_wpan_src64(ROUTER_3).\ - filter_wpan_dst16(ROUTER_2_RLOC16).\ + filter_dst16(ROUTER_2_RLOC16).\ must_next() pkts.filter_ping_reply(identifier=_pkt.icmpv6.echo.identifier).\ filter_wpan_src64(ROUTER_2).\ diff --git a/tests/scripts/thread-cert/pktverify/packet_filter.py b/tests/scripts/thread-cert/pktverify/packet_filter.py index 4e6a546cd..22acf90be 100644 --- a/tests/scripts/thread-cert/pktverify/packet_filter.py +++ b/tests/scripts/thread-cert/pktverify/packet_filter.py @@ -472,6 +472,9 @@ class PacketFilter(object): assert isinstance(addr, (str, ExtAddr)), addr return self.filter(lambda p: p.wpan.dst64 == addr, **kwargs) + def filter_dst16(self, rloc16: int, **kwargs): + return self.filter(lambda p: p.lowpan.mesh.dest16 == rloc16 or p.wpan.dst16 == rloc16, **kwargs) + def filter_ping_request(self, identifier=None, **kwargs): return self.filter( lambda p: p.icmpv6.is_ping_request and (identifier is None or p.icmpv6.echo.identifier == identifier),