1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-15 17:43:51 +01:00

cpu/stm32/periph_eth: enable stm32_eth_link_up with lwip_ipv6

An network devices that supports netdev_driver_t::get(NETOPT_LINK, ...)
also has to emit NETDEV_EVENT_LINK_UP and NETDEV_EVENT_LINK_DOWN with
lwip for IPv6 duplicate address detection to work. The background is
that the STM32 Ethernet MAC requires a periodic timer to poll for the
state to emit these events. For this reason, `stm32_eth_link_up` was
introduced to allow applications to select if they need these events.

With this dependency in place, IPv6 addresses won't get stuck in a
tentative state any more.
This commit is contained in:
Marian Buschsieweke 2022-06-16 15:45:24 +02:00
parent 6db97e2871
commit c9798c86ce
No known key found for this signature in database
GPG Key ID: CB8E3238CE715A94

View File

@ -26,6 +26,12 @@ ifneq (,$(filter stm32_eth,$(USEMODULE)))
USEMODULE += iolist
USEMODULE += ztimer
USEMODULE += ztimer_msec
# lwip IPv6 supports needs link up events to perform duplicate address
# detection
ifneq (,$(filter lwip_ipv6,$(USEMODULE)))
USEMODULE += stm32_eth_link_up
endif
endif
ifneq (,$(filter periph_can,$(FEATURES_USED)))