Я вижу, что lwIP имеет некоторый AutoIP (иначе IPv4LL, иначе RFC 3927) код, но я не могу сказать, делает ли он что-нибудь выше в стеке Zeroconf, а именно, mDNS и SD DNS (с RFC 2782).
Так, lwIP поддерживает сервисное открытие SD DNS? В противном случае было бы легко портировать код из проекта как Avahi, который делает (предполагающий, что лицензирование позволяет его)?
Нет, lwIP не поддерживает никакую часть Zeroconf, кроме AutoIP. Я не смотрел на Avahi, но портировать Apples mDNSResponder на lwIP довольно просто. Есть одна неприятность, когда вам нужно откатить заголовки pbuf, чтобы получить доступ к IP-заголовку, чтобы получить IP-адрес отправителя (я думаю, что "правильный" метод для этого находится в разработке { {1}} для lwIP, но, НАСКОЛЬКО, он еще не выпущен).
С mDNSResponder вы получаете как рекламу услуги, так и обнаружение.
Я не могу комментировать LWIP-часть вашего вопроса (последний раз я использовал LWIP у него даже не было поддержки IPv4LL), но вам может быть интересно узнать, что Apple предоставила открытый исходный код для своего кода mDNSResponder, доступного здесь: http://developer.apple.com/networking / bonjour
Интересным в этой реализации является то, что они предоставляют уровень платформы VxWorks, который может лучше подходить для переноса на вашу встроенную цель, чем библиотека Avahi.