MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / netdev_low_level_set_gw

Function netdev_low_level_set_gw

components/net/netdev/src/netdev.c:940–963  ·  view source on GitHub ↗

* This function will set network interface device gateway address. * @NOTE it can only be called in the network interface device driver. * * @param netdev the network interface device to change * @param gw the new gateway address */

Source from the content-addressed store, hash-verified

938 * @param gw the new gateway address
939 */
940void netdev_low_level_set_gw(struct netdev *netdev, const ip_addr_t *gw)
941{
942 RT_ASSERT(gw);
943
944 if (netdev && ip_addr_cmp(&(netdev->gw), gw) == 0)
945 {
946 ip_addr_copy(netdev->gw, *gw);
947
948#ifdef RT_USING_SAL
949 /* set network interface device flags to internet up */
950 if (netdev_is_up(netdev) && netdev_is_link_up(netdev) &&
951 !ip_addr_isany(&(netdev->ip_addr)))
952 {
953 sal_check_netdev_internet_up(netdev);
954 }
955#endif /* RT_USING_SAL */
956
957 /* execute gateway address change callback function */
958 if (netdev->addr_callback)
959 {
960 netdev->addr_callback(netdev, NETDEV_CB_ADDR_GATEWAY);
961 }
962 }
963}
964
965/**
966 * This function will set network interface device DNS server address.

Callers 3

netif_do_set_gwFunction · 0.85
netif_set_gwFunction · 0.85
netif_set_gwFunction · 0.85

Calls 3

ip_addr_cmpFunction · 0.85
ip_addr_isanyFunction · 0.85

Tested by

no test coverage detected