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

Function netdev_low_level_set_netmask

components/net/netdev/src/netdev.c:908–931  ·  view source on GitHub ↗

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

Source from the content-addressed store, hash-verified

906 * @param netmask the new netmask address
907 */
908void netdev_low_level_set_netmask(struct netdev *netdev, const ip_addr_t *netmask)
909{
910 RT_ASSERT(netmask);
911
912 if (netdev && ip_addr_cmp(&(netdev->netmask), netmask) == 0)
913 {
914 ip_addr_copy(netdev->netmask, *netmask);
915
916#ifdef RT_USING_SAL
917 /* set network interface device flags to internet up */
918 if (netdev_is_up(netdev) && netdev_is_link_up(netdev) &&
919 !ip_addr_isany(&(netdev->ip_addr)))
920 {
921 sal_check_netdev_internet_up(netdev);
922 }
923#endif /* RT_USING_SAL */
924
925 /* execute netmask address change callback function */
926 if (netdev->addr_callback)
927 {
928 netdev->addr_callback(netdev, NETDEV_CB_ADDR_NETMASK);
929 }
930 }
931}
932
933/**
934 * This function will set network interface device gateway address.

Callers 3

netif_do_set_netmaskFunction · 0.85
netif_set_netmaskFunction · 0.85
netif_set_netmaskFunction · 0.85

Calls 3

ip_addr_cmpFunction · 0.85
ip_addr_isanyFunction · 0.85

Tested by

no test coverage detected