summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorJoe Eykholt <jre@nuovasystems.com>2008-07-03 03:22:00 +0200
committerJeff Garzik <jgarzik@redhat.com>2008-08-07 09:59:58 +0200
commitcc9bd5cebc0825e0fabc0186ab85806a0891104f (patch)
tree4a292f5cf40f4c52d120b07d05050a39405f1bda /net/core
parentbonding: Don't destroy bonding master when removing slave via sysfs (diff)
downloadlinux-cc9bd5cebc0825e0fabc0186ab85806a0891104f.tar.xz
linux-cc9bd5cebc0825e0fabc0186ab85806a0891104f.zip
net/core: Uninline skb_bond().
Otherwise subsequent changes need multiple return values. Signed-off-by: Joe Eykholt <jre@nuovasystems.com> Signed-off-by: Jay Vosburgh <fubar@us.ibm.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c28
1 files changed, 8 insertions, 20 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 01993ad74e76..4a09833331f1 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1939,22 +1939,6 @@ int netif_rx_ni(struct sk_buff *skb)
EXPORT_SYMBOL(netif_rx_ni);
-static inline struct net_device *skb_bond(struct sk_buff *skb)
-{
- struct net_device *dev = skb->dev;
-
- if (dev->master) {
- if (skb_bond_should_drop(skb)) {
- kfree_skb(skb);
- return NULL;
- }
- skb->dev = dev->master;
- }
-
- return dev;
-}
-
-
static void net_tx_action(struct softirq_action *h)
{
struct softnet_data *sd = &__get_cpu_var(softnet_data);
@@ -2194,10 +2178,14 @@ int netif_receive_skb(struct sk_buff *skb)
if (!skb->iif)
skb->iif = skb->dev->ifindex;
- orig_dev = skb_bond(skb);
-
- if (!orig_dev)
- return NET_RX_DROP;
+ orig_dev = skb->dev;
+ if (orig_dev->master) {
+ if (skb_bond_should_drop(skb)) {
+ kfree_skb(skb);
+ return NET_RX_DROP;
+ }
+ skb->dev = orig_dev->master;
+ }
__get_cpu_var(netdev_rx_stat).total++;