Kaynağa Gözat

Merge branch 'bugfix/disable_lwip_trust_ip_by_default' into 'master'

lwip: disable ETHARP_TRUST_IP_MAC by default

See merge request idf/esp-idf!2652
Jiang Jiang Jian 7 yıl önce
ebeveyn
işleme
6bf435217e
1 değiştirilmiş dosya ile 12 ekleme ve 1 silme
  1. 12 1
      components/lwip/Kconfig

+ 12 - 1
components/lwip/Kconfig

@@ -104,7 +104,7 @@ config LWIP_STATS
 
 
 config LWIP_ETHARP_TRUST_IP_MAC
 config LWIP_ETHARP_TRUST_IP_MAC
     bool "Enable LWIP ARP trust"
     bool "Enable LWIP ARP trust"
-    default y
+    default n
     help
     help
         Enabling this option allows ARP table to be updated.
         Enabling this option allows ARP table to be updated.
 
 
@@ -117,6 +117,17 @@ config LWIP_ETHARP_TRUST_IP_MAC
         The peer *is* in the ARP table if it requested our address before.
         The peer *is* in the ARP table if it requested our address before.
         Also notice that this slows down input processing of every IP packet!
         Also notice that this slows down input processing of every IP packet!
 
 
+        There are two known issues in real application if this feature is enabled:
+         - The LAN peer may have bug to update the ARP table after the ARP entry is aged out.
+           If the ARP entry on the LAN peer is aged out but failed to be updated, all IP packets
+           sent from LWIP to the LAN peer will be dropped by LAN peer.
+         - The LAN peer may not be trustful, the LAN peer may send IP packets to LWIP with 
+           two different MACs, but the same IP address. If this happens, the LWIP has problem
+           to receive IP packets from LAN peer.
+
+        So the recommendation is to disable this option. 
+        Here the LAN peer means the other side to which the ESP station or soft-AP is connected.
+
 config TCPIP_RECVMBOX_SIZE
 config TCPIP_RECVMBOX_SIZE
     int "TCPIP task receive mail box size"
     int "TCPIP task receive mail box size"
     default 32
     default 32