summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Cheng <crquan@gmail.com>2007-06-05 00:06:57 -0700
committerDavid S. Miller <davem@sunset.davemloft.net>2007-06-07 13:39:46 -0700
commitc4b1010f406d7c3f819c22a6323c46776d5b148c (patch)
treea3c9b210cc3def99b38b038c7629292b12deaa37
parentc36befb52350fa76bf3cb03d13ba2e17dbe8a508 (diff)
downloadlinux-3.10-c4b1010f406d7c3f819c22a6323c46776d5b148c.tar.gz
linux-3.10-c4b1010f406d7c3f819c22a6323c46776d5b148c.tar.bz2
linux-3.10-c4b1010f406d7c3f819c22a6323c46776d5b148c.zip
[NET]: Merge dst_discard_in and dst_discard_out.
Signed-off-by: Denis Cheng <crquan@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/core/dst.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/net/core/dst.c b/net/core/dst.c
index 764bccb3d99..c6a05879d58 100644
--- a/net/core/dst.c
+++ b/net/core/dst.c
@@ -111,13 +111,7 @@ out:
spin_unlock(&dst_lock);
}
-static int dst_discard_in(struct sk_buff *skb)
-{
- kfree_skb(skb);
- return 0;
-}
-
-static int dst_discard_out(struct sk_buff *skb)
+static int dst_discard(struct sk_buff *skb)
{
kfree_skb(skb);
return 0;
@@ -138,8 +132,7 @@ void * dst_alloc(struct dst_ops * ops)
dst->ops = ops;
dst->lastuse = jiffies;
dst->path = dst;
- dst->input = dst_discard_in;
- dst->output = dst_discard_out;
+ dst->input = dst->output = dst_discard;
#if RT_CACHE_DEBUG >= 2
atomic_inc(&dst_total);
#endif
@@ -153,8 +146,7 @@ static void ___dst_free(struct dst_entry * dst)
protocol module is unloaded.
*/
if (dst->dev == NULL || !(dst->dev->flags&IFF_UP)) {
- dst->input = dst_discard_in;
- dst->output = dst_discard_out;
+ dst->input = dst->output = dst_discard;
}
dst->obsolete = 2;
}
@@ -242,8 +234,7 @@ static inline void dst_ifdown(struct dst_entry *dst, struct net_device *dev,
return;
if (!unregister) {
- dst->input = dst_discard_in;
- dst->output = dst_discard_out;
+ dst->input = dst->output = dst_discard;
} else {
dst->dev = &loopback_dev;
dev_hold(&loopback_dev);