eclipse-threadx / netxduo

Eclipse ThreadX - NetXDuo is an advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications
https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/netx-duo/index.md
MIT License
230 stars 131 forks source link

Module (DHCPv6 Client) is getting a new IPv6 address each time we disconnect and reconnect from the Home Wi-Fi #263

Open matheeb opened 3 months ago

matheeb commented 3 months ago

DHCPv6 Client bug Observing that a new IPv6 address is assigned to the module each time we reconnect to the Home Wi-Fi

When the module (DHCPv6 Client) is ran in a loop of connections and disconnections from the Home Wi-Fi. We are seeing that a new IPv6 address is assigned to our module (DHCPv6 Client), on the counter part when a laptop is used to connect, disconnect and reconnect from the Home Wi-Fi the laptop was getting same IPv6 address.

In DHCPv6, DUIDs are used to uniquely identify DHCP clients. There are different types of DUIDs, including: DUID-LLT, DUID-EN, DUID-LL, DUID-UUID

Upon comparing the packet captures of laptop and module found that module is using LLT and laptop is using UUID to get IPv6 address

Below are the captures of laptop and module across the iterations : LAPTOP : Laptop_uuid

MODULE (DHCPv6 Client) : Module_llt

If the module (DHCPv6 Client) runs in a loop, in each iteration module was treated as a new client and assigned a new IPv6 address, after certain period the Home WI-FI's DHCPv6 server address pool exhausts the limit and starts advertising NoAddrAvail error.