Does lwIP support Zeroconf?

自古美人都是妖i 提交于 2019-11-29 12:19:02

问题


I see that lwIP has some AutoIP (aka IPv4LL, aka RFC 3927) code, but I can't tell if it does anything higher up in the Zeroconf stack, namely mDNS and DNS-SD (with RFC 2782).

So, does lwIP support DNS-SD service discovery? If not, would it be easy to port code from a project like Avahi that does (assuming licensing allows it)?


回答1:


No, lwIP does not support any part of Zeroconf except AutoIP. I've not looked at Avahi but porting Apples mDNSResponder to lwIP is quite straightforward. There is one bit of nastiness where you have to pull back the pbuf headers to access the IP header to get the sender IP (I think a "proper" method for this is in the works for lwIP but AFAIK it's not in a release yet).

With mDNSResponder you get both service advertisment and discovery.




回答2:


I can't comment on the LWIP part of your question (the last time I used LWIP it didn't even have IPv4LL support), but you might be interested to know that Apple have open-sourced their mDNSResponder code, available from here: http://developer.apple.com/networking/bonjour

The interesting thing about this implementation is that they provide a VxWorks platform layer which may well be a better match for porting to your embedded target than the Avahi library.




回答3:


The lwIP web site has a task tracker with the following three items (it looks as though they were added around 2010, around the time this question was originally asked):

  • Add "One shot" Multicast DNS Queries (.local) to dns.c
    • Marked done, Dec 2016. It provides a subset of ZeroConf functionality. It is not a complete solution, but could be a good basis to build upon.
  • Create "mDNSQuerier" module to support multiple response and continuous Multicast DNS queries
  • Create multicast DNS Responder module enabling LwIP applications to support multicast DNS host name resoltuion
    • On 28 August 2015, these latter two tickets were marked "Cancelled" with the note "Cancelled since noone seems to want to work on this."



回答4:


Here is a very small mDNS responder which can be ported rather easily to lwIP:

https://bitbucket.org/geekman/tinysvcmdns

Apples mDNSResponder is still rather heavyweight for very small systems (in terms of RAM usage), so if only basic functionality is required this one may be preferred.



来源:https://stackoverflow.com/questions/2375681/does-lwip-support-zeroconf

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!