* [PATCH 1/2] net: move and rename netif_notify_peers()
@ 2012-08-10 8:14 Cong Wang
2012-08-10 8:14 ` [PATCH 2/2] net: remove netdev_bonding_change() Cong Wang
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Cong Wang @ 2012-08-10 8:14 UTC (permalink / raw)
To: netdev; +Cc: Cong Wang, David S. Miller, Ian Campbell
I believe net/core/dev.c is a better place for netif_notify_peers(),
because other net event notify functions also stay in this file.
And rename it to netdev_notify_peers().
Cc: David S. Miller <davem@davemloft.net>
Cc: Ian Campbell <Ian.Campbell@citrix.com>
Signed-off-by: Cong Wang <amwang@redhat.com>
---
drivers/net/hyperv/netvsc_drv.c | 2 +-
drivers/net/virtio_net.c | 2 +-
drivers/net/xen-netfront.c | 2 +-
include/linux/netdevice.h | 3 +--
net/core/dev.c | 18 ++++++++++++++++++
net/sched/sch_generic.c | 18 ------------------
6 files changed, 22 insertions(+), 23 deletions(-)
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 8c5a1c4..e91111a 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -400,7 +400,7 @@ static void netvsc_send_garp(struct work_struct *w)
ndev_ctx = container_of(w, struct net_device_context, dwork.work);
net_device = hv_get_drvdata(ndev_ctx->device_ctx);
net = net_device->ndev;
- netif_notify_peers(net);
+ netdev_notify_peers(net);
}
diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 83d2b0c..81a64c5 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -993,7 +993,7 @@ static void virtnet_config_changed_work(struct work_struct *work)
goto done;
if (v & VIRTIO_NET_S_ANNOUNCE) {
- netif_notify_peers(vi->dev);
+ netdev_notify_peers(vi->dev);
virtnet_ack_link_announce(vi);
}
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 3089990..39afd37 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1731,7 +1731,7 @@ static void netback_changed(struct xenbus_device *dev,
break;
case XenbusStateConnected:
- netif_notify_peers(netdev);
+ netdev_notify_peers(netdev);
break;
case XenbusStateClosing:
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index a9db4f3..8d4b731 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -2246,8 +2246,6 @@ extern void netif_carrier_on(struct net_device *dev);
extern void netif_carrier_off(struct net_device *dev);
-extern void netif_notify_peers(struct net_device *dev);
-
/**
* netif_dormant_on - mark device as dormant.
* @dev: network device
@@ -2596,6 +2594,7 @@ extern void __dev_set_rx_mode(struct net_device *dev);
extern int dev_set_promiscuity(struct net_device *dev, int inc);
extern int dev_set_allmulti(struct net_device *dev, int inc);
extern void netdev_state_change(struct net_device *dev);
+extern void netdev_notify_peers(struct net_device *dev);
extern int netdev_bonding_change(struct net_device *dev,
unsigned long event);
extern void netdev_features_change(struct net_device *dev);
diff --git a/net/core/dev.c b/net/core/dev.c
index a39354e..1eb9636 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1109,6 +1109,24 @@ void netdev_state_change(struct net_device *dev)
}
EXPORT_SYMBOL(netdev_state_change);
+/**
+ * netdev_notify_peers - notify network peers about existence of @dev
+ * @dev: network device
+ *
+ * Generate traffic such that interested network peers are aware of
+ * @dev, such as by generating a gratuitous ARP. This may be used when
+ * a device wants to inform the rest of the network about some sort of
+ * reconfiguration such as a failover event or virtual machine
+ * migration.
+ */
+void netdev_notify_peers(struct net_device *dev)
+{
+ rtnl_lock();
+ call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, dev);
+ rtnl_unlock();
+}
+EXPORT_SYMBOL(netdev_notify_peers);
+
int netdev_bonding_change(struct net_device *dev, unsigned long event)
{
return call_netdevice_notifiers(event, dev);
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 511323e..6c4d5fe 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -324,24 +324,6 @@ void netif_carrier_off(struct net_device *dev)
}
EXPORT_SYMBOL(netif_carrier_off);
-/**
- * netif_notify_peers - notify network peers about existence of @dev
- * @dev: network device
- *
- * Generate traffic such that interested network peers are aware of
- * @dev, such as by generating a gratuitous ARP. This may be used when
- * a device wants to inform the rest of the network about some sort of
- * reconfiguration such as a failover event or virtual machine
- * migration.
- */
-void netif_notify_peers(struct net_device *dev)
-{
- rtnl_lock();
- call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, dev);
- rtnl_unlock();
-}
-EXPORT_SYMBOL(netif_notify_peers);
-
/* "NOOP" scheduler: the best scheduler, recommended for all interfaces
under all circumstances. It is difficult to invent anything faster or
cheaper.
--
1.7.7.6
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] net: remove netdev_bonding_change() 2012-08-10 8:14 [PATCH 1/2] net: move and rename netif_notify_peers() Cong Wang @ 2012-08-10 8:14 ` Cong Wang 2012-08-14 21:29 ` David Miller 2012-08-10 19:01 ` [PATCH 1/2] net: move and rename netif_notify_peers() Ben Hutchings 2012-08-14 21:28 ` David Miller 2 siblings, 1 reply; 6+ messages in thread From: Cong Wang @ 2012-08-10 8:14 UTC (permalink / raw) To: netdev; +Cc: Cong Wang, David S. Miller I don't see any benifits to use netdev_bonding_change() than using call_netdevice_notifiers() directly. Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Cong Wang <amwang@redhat.com> --- drivers/net/bonding/bond_main.c | 20 ++++++++++---------- include/linux/netdevice.h | 2 -- net/core/dev.c | 6 ------ 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 6fae5f3..d95fbc3 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -1120,10 +1120,10 @@ void bond_change_active_slave(struct bonding *bond, struct slave *new_active) write_unlock_bh(&bond->curr_slave_lock); read_unlock(&bond->lock); - netdev_bonding_change(bond->dev, NETDEV_BONDING_FAILOVER); + call_netdevice_notifiers(NETDEV_BONDING_FAILOVER, bond->dev); if (should_notify_peers) - netdev_bonding_change(bond->dev, - NETDEV_NOTIFY_PEERS); + call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, + bond->dev); read_lock(&bond->lock); write_lock_bh(&bond->curr_slave_lock); @@ -1560,8 +1560,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) bond_dev->name, bond_dev->type, slave_dev->type); - res = netdev_bonding_change(bond_dev, - NETDEV_PRE_TYPE_CHANGE); + res = call_netdevice_notifiers(NETDEV_PRE_TYPE_CHANGE, + bond_dev); res = notifier_to_errno(res); if (res) { pr_err("%s: refused to change device type\n", @@ -1581,8 +1581,8 @@ int bond_enslave(struct net_device *bond_dev, struct net_device *slave_dev) bond_dev->priv_flags &= ~IFF_TX_SKB_SHARING; } - netdev_bonding_change(bond_dev, - NETDEV_POST_TYPE_CHANGE); + call_netdevice_notifiers(NETDEV_POST_TYPE_CHANGE, + bond_dev); } } else if (bond_dev->type != slave_dev->type) { pr_err("%s ether type (%d) is different from other slaves (%d), can not enslave it.\n", @@ -1943,7 +1943,7 @@ int bond_release(struct net_device *bond_dev, struct net_device *slave_dev) } block_netpoll_tx(); - netdev_bonding_change(bond_dev, NETDEV_RELEASE); + call_netdevice_notifiers(NETDEV_RELEASE, bond_dev); write_lock_bh(&bond->lock); slave = bond_get_slave_by_dev(bond, slave_dev); @@ -2586,7 +2586,7 @@ re_arm: read_unlock(&bond->lock); return; } - netdev_bonding_change(bond->dev, NETDEV_NOTIFY_PEERS); + call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, bond->dev); rtnl_unlock(); } } @@ -3205,7 +3205,7 @@ re_arm: read_unlock(&bond->lock); return; } - netdev_bonding_change(bond->dev, NETDEV_NOTIFY_PEERS); + call_netdevice_notifiers(NETDEV_NOTIFY_PEERS, bond->dev); rtnl_unlock(); } } diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 8d4b731..1d6ab69 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -2595,8 +2595,6 @@ extern int dev_set_promiscuity(struct net_device *dev, int inc); extern int dev_set_allmulti(struct net_device *dev, int inc); extern void netdev_state_change(struct net_device *dev); extern void netdev_notify_peers(struct net_device *dev); -extern int netdev_bonding_change(struct net_device *dev, - unsigned long event); extern void netdev_features_change(struct net_device *dev); /* Load a device via the kmod */ extern void dev_load(struct net *net, const char *name); diff --git a/net/core/dev.c b/net/core/dev.c index 1eb9636..8e480eb 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1127,12 +1127,6 @@ void netdev_notify_peers(struct net_device *dev) } EXPORT_SYMBOL(netdev_notify_peers); -int netdev_bonding_change(struct net_device *dev, unsigned long event) -{ - return call_netdevice_notifiers(event, dev); -} -EXPORT_SYMBOL(netdev_bonding_change); - /** * dev_load - load a network module * @net: the applicable net namespace -- 1.7.7.6 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] net: remove netdev_bonding_change() 2012-08-10 8:14 ` [PATCH 2/2] net: remove netdev_bonding_change() Cong Wang @ 2012-08-14 21:29 ` David Miller 0 siblings, 0 replies; 6+ messages in thread From: David Miller @ 2012-08-14 21:29 UTC (permalink / raw) To: amwang; +Cc: netdev From: Cong Wang <amwang@redhat.com> Date: Fri, 10 Aug 2012 16:14:57 +0800 > I don't see any benifits to use netdev_bonding_change() than > using call_netdevice_notifiers() directly. > > Cc: David S. Miller <davem@davemloft.net> > Signed-off-by: Cong Wang <amwang@redhat.com> Applied to net-next ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] net: move and rename netif_notify_peers() 2012-08-10 8:14 [PATCH 1/2] net: move and rename netif_notify_peers() Cong Wang 2012-08-10 8:14 ` [PATCH 2/2] net: remove netdev_bonding_change() Cong Wang @ 2012-08-10 19:01 ` Ben Hutchings 2012-08-13 2:46 ` Cong Wang 2012-08-14 21:28 ` David Miller 2 siblings, 1 reply; 6+ messages in thread From: Ben Hutchings @ 2012-08-10 19:01 UTC (permalink / raw) To: Cong Wang; +Cc: netdev, David S. Miller, Ian Campbell On Fri, 2012-08-10 at 16:14 +0800, Cong Wang wrote: > I believe net/core/dev.c is a better place for netif_notify_peers(), > because other net event notify functions also stay in this file. > > And rename it to netdev_notify_peers(). [...] Is there a convention for using the 'netdev' vs 'netif' prefixes? If not, I don't see the point in renaming just this one function. Ben. -- Ben Hutchings, Staff Engineer, Solarflare Not speaking for my employer; that's the marketing department's job. They asked us to note that Solarflare product names are trademarked. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] net: move and rename netif_notify_peers() 2012-08-10 19:01 ` [PATCH 1/2] net: move and rename netif_notify_peers() Ben Hutchings @ 2012-08-13 2:46 ` Cong Wang 0 siblings, 0 replies; 6+ messages in thread From: Cong Wang @ 2012-08-13 2:46 UTC (permalink / raw) To: Ben Hutchings; +Cc: netdev, David S. Miller, Ian Campbell On Fri, 2012-08-10 at 20:01 +0100, Ben Hutchings wrote: > On Fri, 2012-08-10 at 16:14 +0800, Cong Wang wrote: > > I believe net/core/dev.c is a better place for netif_notify_peers(), > > because other net event notify functions also stay in this file. > > > > And rename it to netdev_notify_peers(). > [...] > > Is there a convention for using the 'netdev' vs 'netif' prefixes? > If not, I don't see the point in renaming just this one function. > The reason why I rename it is there are more functions named netdev_* than netif_* in net/core/dev.c. Also given that netdev_bonding_change() has netdev_ prefix too. I don't have strong opinions on this. Thanks. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] net: move and rename netif_notify_peers() 2012-08-10 8:14 [PATCH 1/2] net: move and rename netif_notify_peers() Cong Wang 2012-08-10 8:14 ` [PATCH 2/2] net: remove netdev_bonding_change() Cong Wang 2012-08-10 19:01 ` [PATCH 1/2] net: move and rename netif_notify_peers() Ben Hutchings @ 2012-08-14 21:28 ` David Miller 2 siblings, 0 replies; 6+ messages in thread From: David Miller @ 2012-08-14 21:28 UTC (permalink / raw) To: amwang; +Cc: netdev, Ian.Campbell From: Cong Wang <amwang@redhat.com> Date: Fri, 10 Aug 2012 16:14:56 +0800 > I believe net/core/dev.c is a better place for netif_notify_peers(), > because other net event notify functions also stay in this file. > > And rename it to netdev_notify_peers(). > > Cc: David S. Miller <davem@davemloft.net> > Cc: Ian Campbell <Ian.Campbell@citrix.com> > Signed-off-by: Cong Wang <amwang@redhat.com> Applied to net-next ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-08-14 21:29 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-08-10 8:14 [PATCH 1/2] net: move and rename netif_notify_peers() Cong Wang 2012-08-10 8:14 ` [PATCH 2/2] net: remove netdev_bonding_change() Cong Wang 2012-08-14 21:29 ` David Miller 2012-08-10 19:01 ` [PATCH 1/2] net: move and rename netif_notify_peers() Ben Hutchings 2012-08-13 2:46 ` Cong Wang 2012-08-14 21:28 ` David Miller
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).