olsrd mDNS plug-in issues
mDNS plug-in documentation
issue: mdns plugin loops
router A and router B are on the same subnet. If olsr with the mdns plugin is activated on both and there is an host generating mdns packets then the mdns packets will start to loop between A and B. Moreover the mdns messages will flood the whole network.
announce plugin activation in hello messages
drawback: if olsrd is not activated on the hna subnet, the hello messages will not be received.
when an olsr mdns message is received at router A, check that the originator is not the announcer of an HNA announced also by router A.
drawback: HNA must be correctly configured
before decapsulating an mdns packet, check if the source address belongs to an attached HNA network. If it does, then discard the packet.
Soluzione per i loop di mDNS plugin. Campo TTL. Se = 1 non incapsulare il pacchetto. Quando decapsuli il pacchetto forzare TTL = 1 prima di spedire sull'interfaccia. TTL lo puoi cambiare senza ricalcolare il checksum.
Two easy steps: Use the TTL field. If TT = 1 discard the packet on the sniffing interface. When decapsulating a packet to push to the LAN force TTL = 1 to prevent recapsulation (loop) Note that TTL can be manipulated without recalculation of IP checksum field.
issue: too many mdns messages will slow down the whole network
mdns packets are encapsulated in mdns messages. These are sent inside olsr packets, which are broadcasted at basic rate. This means that if enough mdns traffic is transported inside OLSR protocol packets, the whole network will have a slowdown due to many packets sent at basic rate.
change the basic rate to something bigger.
change the OLSR protocol to start sending OLSR packets in unicast if there is only one device on the other side of a link. The device must first be discovered through broadcast HELLO packets.