tklauser / llmnrd

Link-Local Multicast Resolution (LLMNR) Daemon for Linux
GNU General Public License v2.0
45 stars 20 forks source link

Conflict resolution required? #25

Open mpvader opened 6 years ago

mpvader commented 6 years ago

Hi, for our application, the device that we want easily accessible from Windows will in most cases be alone in the local network. And I'd prefer to give it a simple name, for example product-name. Rather than a serial-number or similar.

In a small percentage of the installs there will be multiple in one network. Meaning that there are multiple devices all responding to the same name in the network. Ie they will all reply on the llmnr request.

I tested this, with two devices, and Windows 8.1, and it works fine. In Wireshark I see two replies, and one if them (in my test the first reply, which makes sense) is the one that shows up in the browser. Which is fine for our use case.

Is there any problem you see in having multiple devices respond to the same name? Clients crashing, networks going a-wall, or anything similar?

tklauser commented 6 years ago

In principle this shouldn't be a problem and the LLMNR RFC explicitly allows for this, see section 4.2 of RFC 4795

llmnrd currently doesn't support conflict resolution, so it will always respond to LLMNR queries, even if the C bit is set in the LLMNR header flags.

mpvader commented 6 years ago

ok clear; and exactly what I wanted to hear 😄 .

Related question: do you see anything against making the device respond to two names? In our case product-name, and [serialnumber]?

I'm not sure if we'd want to do that, but it will be the implementation giving the most flexibility in using it.

tklauser commented 6 years ago

In principle I don't see a problem with responding to two (or more names). However, llmnrd currently only supports one name at a time, but support for it should be fairly easy to add.