[avahi] Per-interface fds

Zachary Loafman zml+avahi at zml.net
Fri Aug 24 14:48:03 PDT 2007


Hey -

I just opened up ticket #163 (http://avahi.org/ticket/163). I have a
simple patch for the issue (basically just reorder the
#ifdef/#elif/#elif section in socket.c that deals with SENDSRCADDR,
etc). However, I'd like to propose a deeper change: per-interface file
descriptors. The main advantage of this is that it *should* avoid the
portability issues of the current attempt.

 I think the change would look something like this:

*) Move the fd_* and watch_* fields from AvahiServer to AvahiInterface.
*) Encourage use of avahi_interface_send_packet and replumb a few interfaces
*) Change the socket setup code to use setsockopt(...,IP_MULTICAST_IF...).

After that, Avahi shouldn't need to use IP_PKTINFO.

Does this sound like a reasonable change?

...Zach

PS Is the server.c reflector use of avahi_send_dns_packet_ipv4 (circa
line 819) using the right fd? It looks like it's sending out a
multicast packet over the unicast fd).


More information about the avahi mailing list