diff --git a/components/net/Kconfig b/components/net/Kconfig index 3a4f39ed49f4b7d86288d549646448cdb8172d65..e1c34f754e343e669bc85f543df208af73ccb092 100644 --- a/components/net/Kconfig +++ b/components/net/Kconfig @@ -10,6 +10,12 @@ config RT_USING_SAL if RT_USING_SAL + config SAL_INTERNET_CHECK + bool "Enable the ability that check internet status" + default y + help + The ability that check internet status is provided by RT-Thread. + if RT_USING_LWIP || AT_USING_SOCKET menu "protocol stack implement" diff --git a/components/net/netdev/src/netdev.c b/components/net/netdev/src/netdev.c index 92d5b188eb14cf7182eae98ac60dbdad9774be6d..76a937cc755ea9dd7f29b9008638b80a632343d4 100644 --- a/components/net/netdev/src/netdev.c +++ b/components/net/netdev/src/netdev.c @@ -901,8 +901,8 @@ static void netdev_list_if(void) { rt_kprintf("%d", netdev->hwaddr[index]); } - - + + } } @@ -911,8 +911,10 @@ static void netdev_list_if(void) else rt_kprintf(" DOWN"); if (netdev->flags & NETDEV_FLAG_LINK_UP) rt_kprintf(" LINK_UP"); else rt_kprintf(" LINK_DOWN"); +#ifdef SAL_INTERNET_CHECK if (netdev->flags & NETDEV_FLAG_INTERNET_UP) rt_kprintf(" INTERNET_UP"); else rt_kprintf(" INTERNET_DOWN"); +#endif if (netdev->flags & NETDEV_FLAG_DHCP) rt_kprintf(" DHCP_ENABLE"); else rt_kprintf(" DHCP_DISABLE"); if (netdev->flags & NETDEV_FLAG_ETHARP) rt_kprintf(" ETHARP"); diff --git a/components/net/sal_socket/src/sal_socket.c b/components/net/sal_socket/src/sal_socket.c index c3e1c1574948bd917060c257b06600cf0b927067..27dea260fbea86bef55a6bf8b3c60b607ccaef44 100644 --- a/components/net/sal_socket/src/sal_socket.c +++ b/components/net/sal_socket/src/sal_socket.c @@ -21,7 +21,9 @@ #include #include +#ifdef SAL_INTERNET_CHECK #include +#endif /* check system workqueue stack size */ #if RT_SYSTEM_WORKQUEUE_STACKSIZE < 1536 @@ -45,7 +47,7 @@ struct sal_socket_table struct sal_netdev_res_table { struct addrinfo *res; - struct netdev *netdev; + struct netdev *netdev; }; #ifdef SAL_USING_TLS @@ -131,7 +133,7 @@ int sal_init(void) /*init the dev_res table */ rt_memset(sal_dev_res_tbl, 0, sizeof(sal_dev_res_tbl)); - + /* create sal socket lock */ rt_mutex_init(&sal_core_lock, "sal_lock", RT_IPC_FLAG_FIFO); @@ -142,6 +144,7 @@ int sal_init(void) } INIT_COMPONENT_EXPORT(sal_init); +#ifdef SAL_INTERNET_CHECK /* check SAL network interface device internet status */ static void check_netdev_internet_up_work(struct rt_work *work, void *work_data) { @@ -271,6 +274,7 @@ __exit: skt_ops->closesocket(sockfd); } } +#endif /* SAL_INTERNET_CHECK */ /** * This function will check SAL network interface device internet status. @@ -279,10 +283,12 @@ __exit: */ int sal_check_netdev_internet_up(struct netdev *netdev) { + RT_ASSERT(netdev); + +#ifdef SAL_INTERNET_CHECK /* workqueue for network connect */ struct rt_delayed_work *net_work = RT_NULL; - RT_ASSERT(netdev); net_work = (struct rt_delayed_work *)rt_calloc(1, sizeof(struct rt_delayed_work)); if (net_work == RT_NULL) @@ -293,7 +299,7 @@ int sal_check_netdev_internet_up(struct netdev *netdev) rt_delayed_work_init(net_work, check_netdev_internet_up_work, (void *)netdev); rt_work_submit(&(net_work->work), RT_TICK_PER_SECOND); - +#endif /* SAL_INTERNET_CHECK */ return 0; } @@ -1138,7 +1144,7 @@ int sal_getaddrinfo(const char *nodename, } RT_ASSERT((i < SAL_SOCKETS_NUM)); - + } return ret;