* [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 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
* 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
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.