diff --git a/components/net/lwip/port/ethernetif.c b/components/net/lwip/port/ethernetif.c index c88337cdc6..48961704b4 100644 --- a/components/net/lwip/port/ethernetif.c +++ b/components/net/lwip/port/ethernetif.c @@ -421,6 +421,11 @@ static int netdev_add(struct netif *lwip_netif) netdev->gw = lwip_netif->gw; netdev->netmask = lwip_netif->netmask; +#ifdef NETDEV_USING_LINK_STATUS_CALLBACK + extern void netdev_status_change(struct netdev *netdev, enum netdev_cb_type type); + netdev_set_status_callback(netdev, netdev_status_change); +#endif + return result; } diff --git a/components/net/netdev/Kconfig b/components/net/netdev/Kconfig index 5f1697d7ba..b45c279513 100644 --- a/components/net/netdev/Kconfig +++ b/components/net/netdev/Kconfig @@ -19,7 +19,11 @@ if RT_USING_NETDEV config NETDEV_USING_AUTO_DEFAULT bool "Enable default netdev automatic change features" default y - + + config NETDEV_USING_LINK_STATUS_CALLBACK + bool "Enable netdev callback on link status change" + default n + config NETDEV_USING_IPV6 bool "Enable IPV6 protocol support" default n