Thread (8 messages) 8 messages, 3 authors, 2013-09-30

Re: [PATCH net-next] dev: advertise rx_flags changes

From: Stephen Hemminger <stephen@networkplumber.org>
Date: 2013-09-23 19:27:19

On Mon, 23 Sep 2013 16:25:34 +0200
Nicolas Dichtel [off-list ref] wrote:
quoted hunk ↗ jump to hunk
There is no netlink message/call to notifier chains when rx_flags are updated,
let's advertise everybody.

Signed-off-by: Nicolas Dichtel <redacted>
---
 net/core/dev.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index 5c713f2239cc..6c91d3919279 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -4818,8 +4818,13 @@ static void dev_change_rx_flags(struct net_device *dev, int flags)
 {
 	const struct net_device_ops *ops = dev->netdev_ops;
 
-	if ((dev->flags & IFF_UP) && ops->ndo_change_rx_flags)
-		ops->ndo_change_rx_flags(dev, flags);
+	if (dev->flags & IFF_UP) {
+		if (ops->ndo_change_rx_flags)
+			ops->ndo_change_rx_flags(dev, flags);
+
+		call_netdevice_notifiers(NETDEV_CHANGE, dev);
+		rtmsg_ifinfo(RTM_NEWLINK, dev, flags);
+	}
 }
 
 static int __dev_set_promiscuity(struct net_device *dev, int inc)
This will cause duplicate notification if IFF_MULTICAST changes:

1. dev_change_flags
      __dev_change_flags
         dev_change_rx_flags
            call_netdevice_notifiers...

2. dev_change_flags
     __dev_notify_flags
        call_netdevice_notifiers...


        
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help