Ticket #284 (closed defect: fixed)

Opened 4 years ago

Last modified 3 years ago

"Invalid query packet" spam due to Mac OS 10.6

Reported by: srhuston Owned by: lathiat
Milestone: Avahi 0.6.26 Component: avahi-core
Keywords: Cc: vincent@…

Description

Ever since our first Snow Leopard host arrived on the network here, we've seen a lot of "Invalid query packet" messages from hosts (all in the building running avahi, all at the same time, usually more than one error at a time as well). I've narrowed it down to definitely arising from hosts running Snow Leopard (via wireshark I could see no other packets from other hosts at the same time as the logged error), but have yet to capture a packet on the wire which I could definitively say was the culprit. We're not even sure yet what the series of events on the 10.6 host cause it to send out such a packet.

I brought this up in the IRC channel a little while ago, wondering aloud if this was known among the developers. This has become quite a troublesome problem for us, as sometimes for a solid minute we get constant errors from all the hosts in the building at the same time (a couple hundred), flooding syslogs and generally being a nuisance. I'm happy to help with capturing the culprit packet if someone can provide a method to figure out which one is at fault.

Change History

Changed 4 years ago by lathiat

  • owner changed from lennart to lathiat
  • status changed from new to assigned

This is most likely due to the new Bonjour Sleep Proxy stuff... which I'd love to implement.

Since I have snow leopard here I'll have to have a poke and debug this, I'll try do it next week.

Changed 4 years ago by zweije

  • cc vincent@… added

A tcpdump makes me believe that this is due to Mac OS 10.6 using RFC2671 to add information in the additional data section of DNS queries. Specifically, it is supplying the 'UDP payload size' (in my case, 1440) as hint for the max size of response packets.

[...] flight.sense.znet.mdns > 224.0.0.251.mdns: [udp sum ok] 0 [9q] [4n] [1au] [...] ar: . OPT UDPsize=1440 (286)

Avahi considers queries with non-empty additional data sections invalid, where it checks that AVAHI_DNS_FIELD_ARCOUNT != 0 just before generating the Invalid query packet message.

The easy way out may be to just accept and ignore the additional data (remove the return statement after the message).

As a bonus, avahi might use the UDP payload size to lower the mtu for the replay packet appropriately (in the beginning of avahi_dns_packet_new_reply()).

Ciao. Vincent.

Changed 4 years ago by lennart

Hmm, interesting. The MulticastDNS specs have very recently been updated. I guess it is time to do a wdiff and add the missing pieces to Avahi.

Changed 4 years ago by lennart

Kinda duplicate of #282

Changed 4 years ago by lennart

  • milestone set to Avahi 0.6.26

Changed 3 years ago by ajmas

Note, ticket #296 has been created for the "sleep proxy" feature.

Changed 3 years ago by lennart

  • status changed from assigned to closed
  • resolution set to fixed

Fixed now, in git.

Note: See TracTickets for help on using tickets.