Hi,
I have recently noticed that the mdns repeater built in VyOS (Avahi in repeater mode?) is generating malformed mdns packets (see https://github.com/keepsimple1/mdns-sd/pull/492 for a detailed Github thread about the debugging).
I am using the mdns-repeater with a very basic configuration consisting only in
vyos@vyos# show service mdns repeater interface eth5.4 interface eth1.1 interface eth1.2
to repeat MDNS across VLANs.
To my understanding, the repeater does not simply repeat mdns packets, but generate new mdns advertisements based on its cached entries. Under some circumstances, it generates invalid pointers within the mdns. See https://github.com/keepsimple1/mdns-sd/pull/492#issuecomment-5351018501 for the full details:
Line 43..61 is clean (c0 0c is a valid backward pointer). The failure is that a later name contains a pointer to offset 80, which is in the middle of the "Denon" label at the last line — a pointer that doesn't land on a label boundary.
The 169 at offset 125 / 150 at offset 148 errors are the other kind: pointers that point forward, which RFC 1035 section 4.1.4 forbids ("a pointer to a prior occurrence"). Note those offsets are identical to what the old build reported (169 ... 125), so it's the same reproducible packet.
I suspect it might be the reflector that re-constructs a new packet that coalesces records, and might not enforce RFC's backward only pointers.
I have a set of tcpdump pcap files showcasing the issue prior to hitting mdns repeater (mdns packets for the individual devices are valid) and after hitting the repeater (Wireshark highlights these mdns as malformed). I can share these minimal pcap in case useful.
Thanks