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

Function netdev_low_level_set_ipaddr

components/net/netdev/src/netdev.c:877–899  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

875 * @param ip_addr the new IP address
876 */
877void netdev_low_level_set_ipaddr(struct netdev *netdev, const ip_addr_t *ip_addr)
878{
879 RT_ASSERT(ip_addr);
880
881 if (netdev && ip_addr_cmp(&(netdev->ip_addr), ip_addr) == 0)
882 {
883 ip_addr_copy(netdev->ip_addr, *ip_addr);
884
885#ifdef RT_USING_SAL
886 /* set network interface device flags to internet up */
887 if (netdev_is_up(netdev) && netdev_is_link_up(netdev))
888 {
889 sal_check_netdev_internet_up(netdev);
890 }
891#endif /* RT_USING_SAL */
892
893 /* execute IP address change callback function */
894 if (netdev->addr_callback)
895 {
896 netdev->addr_callback(netdev, NETDEV_CB_ADDR_IP);
897 }
898 }
899}
900
901/**
902 * This function will set network interface device netmask address.

Callers 3

netif_do_set_ipaddrFunction · 0.85
netif_set_ipaddrFunction · 0.85
netif_set_ipaddrFunction · 0.85

Calls 2

ip_addr_cmpFunction · 0.85

Tested by

no test coverage detected