diff --git a/net/netdev/netdev_carrier.c b/net/netdev/netdev_carrier.c index ffccd8a1f4f..1c882f50222 100644 --- a/net/netdev/netdev_carrier.c +++ b/net/netdev/netdev_carrier.c @@ -51,6 +51,7 @@ #include #include "netdev/netdev.h" +#include "netlink/netlink.h" /**************************************************************************** * Public Functions @@ -76,6 +77,7 @@ int netdev_carrier_on(FAR struct net_driver_s *dev) if (dev) { dev->d_flags |= IFF_RUNNING; + netlink_device_notify(dev); return OK; } @@ -102,6 +104,7 @@ int netdev_carrier_off(FAR struct net_driver_s *dev) if (dev) { dev->d_flags &= ~IFF_RUNNING; + netlink_device_notify(dev); return OK; } diff --git a/net/netdev/netdev_ioctl.c b/net/netdev/netdev_ioctl.c index f18980c5acc..bf1ea5ebbcf 100644 --- a/net/netdev/netdev_ioctl.c +++ b/net/netdev/netdev_ioctl.c @@ -89,6 +89,7 @@ #include "igmp/igmp.h" #include "icmpv6/icmpv6.h" #include "route/route.h" +#include "netlink/netlink.h" /**************************************************************************** * Pre-processor Definitions @@ -1761,6 +1762,10 @@ void netdev_ifup(FAR struct net_driver_s *dev) /* Mark the interface as up */ dev->d_flags |= IFF_UP; + + /* Update the driver status */ + + netlink_device_notify(dev); } } } @@ -1783,6 +1788,10 @@ void netdev_ifdown(FAR struct net_driver_s *dev) /* Mark the interface as down */ dev->d_flags &= ~IFF_UP; + + /* Update the driver status */ + + netlink_device_notify(dev); } }