Ticket #288 (closed defect: wontfix)

Opened 2 years ago

Last modified 20 months ago

Multiple IPs/Subnets on a single adapter not supported.

Reported by: bj0 Owned by: lennart
Milestone: Component: avahi-core
Keywords: Cc: datallah@…

Description

I have a setup on one of my network where two computers on a LAN are on the LAN's subnet (192.168.x.x), but they are also on a separate, smaller subnet (10.23.0.x).

Instead of creating virtual adapters, a second IP/Subnet was simply added to the eth0 device with:

Computer A:

ifconfig eth0:0 10.23.0.1 netmask 255.255.255.224

Computer B

ifconfig eth0:0 10.23.0.2 netmask 255.255.255.224

Avahi services, however, only seem to be able to have a single IP address per adapter. When I start a service from one machine (usually _presence or _daap) it shows up in avahi-discover in the other machine with one of the two IPs. This can be problem for applications like Pidgin or Empathy, when connections from one side are made from an IP the other side isn't expecting, which results in dropping messages.

This is easy to reproduce in linux using ifconfig and avahi-discover.

Change History

Changed 2 years ago by datallah

  • cc datallah@… added

Changed 20 months ago by lennart

  • status changed from new to closed
  • resolution set to wontfix

This is a feature, not a bug. Since mDNS is only link-local it doesn't matter which address Avahi picks, and one is sufficient. Note that the multicast group Avahi uses is unrelated to any specific subnet.

Changed 20 months ago by bj0

well it obviously matters to programs like pidgin and empathy, because it breaks their 'bonjour' or 'people near by' accounts. granted there's probably not a lot of people that would fall under this use case...

Changed 20 months ago by lennart

Hmm, so are you saying that there are two subnets but some machines are on one and others on another and a third kind on both? And all of that on the same network segment?

mDNS cannot really deal with that: it is assumed that all machines on a segment can talk to all other machines on a segment, in which case the address announced does not matter, and in order to simplify things and minimize traffic we pick just one address, though try to be smart about which one we pick, and usually go for the public one. If you have some isolation between the subnets then mDNS cannot deal with this, and this is something to bring up against the RFC not Avahi (but then again, I wouldn't want to argue that this is even desirable).

Note: See TracTickets for help on using tickets.