Filter mDNS replies (deep packet inspection)

In doing a little more reasearch, I ran across the u32 netfilter extension. This extension allows you to match bytes in a packet up to 4 bytes at a time. I thought this would be the solution to my problem, but it appears (at least on my network after a Wireshark analysis) that mDNS doesn't really follow a clean-cut query/response pattern that typical DNS does.

Instead, you have devices that will actually provide unsolicited responses within queries. Something like "Hey, where are the web servers? Oh, by the way I have a webserver, an ftp server, a Samba network, etc." This means, that simply filtering mDNS responses with u32 packet matching simply doesn't cut it. I did filter packets that contain responses (whether solicited or not) using the u32 filter extension, however, for some reason, that caused all of the mDNS functionality to quit working.

I'm still doing a little research here, but it's beginning to look more and more like for my particular issue I will have to write a program that will interact with a netfilter queue, removing specific parts of the mDNS packet altogether before allowing them to continue through.