mDNS: Fixing loops for mDNS packets when mDNS plugin is misconfigured
authorAlessandro Gnagni <enterprise.nx@gmail.com>
Sat, 5 May 2012 21:41:20 +0000 (23:41 +0200)
committerSaverio Proto <zioproto@gmail.com>
Mon, 13 Aug 2012 17:33:09 +0000 (19:33 +0200)
commitd386ddf9c859572ecb5da56f4e3b7e5223e84881
treed3a5cee6150828ce38869e20562dfc5b2f993a35
parent67232d268aa9c9322d7a811e1b1849800c47a881
mDNS: Fixing loops for mDNS packets when mDNS plugin is misconfigured

If two mDNS plug-in enabled OLSR routers are attached to the same HNA network, then mDNS packets will loop back and forth between the two, also flooding the whole OLSR network. For the moment the temporary solution to this problem was to enable the plug-in on one router at a time on the same HNA. A real implemented here is  the following:

    usually mDNS packets have a TTL != 1, so:
    capture only mDNS packets with TTL != 1
    when decapsulating mDNS packets, set TTL = 1
    where TTL is the IP Time-to-live field or the IPv6 HopLimit field

 * Modified code to forward mdns packet from HNA into OLSRd network changing TTL/Hlim to 1
 * Now the mDns plugin discard all packet from HNA that have TTL/Hlim equals to 1
lib/mdns/src/mdns.c