On Wednesday 25 March 2015 19:51:07 Sven Eckelmann wrote:
The linux kernel automatically chooses the source address. This can make problems when the metric prefers an address which is not the link-local EUI64 address. For example an user can add an additional address which also can be used for link-local communication but has a higher value in the metric. This can cause alfred to send UDP link-local packets with an address which cannot be decoded by the receiver to get the MAC address of the device. The communication with this device would then fail.
It is possible to define the source address when we directly bind to it. This has the problem that this address cannot receive packets with a multicast address as destination. The workaround is to create two sockets for one netsock structure. One is the socket which can send all data and receives unicast packets. The second one is receiving the multicast traffic like the announcements from master alfred server processes.
Signed-off-by: Sven Eckelmann sven@narfation.org
Applied in revision 986ca57, added Moritz Warnings "Tested-by" as per ticket #208 [1].
Thanks a lot! Simon