summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2010-12-20 13:24:14 -0800
committerDavid S. Miller <davem@davemloft.net>2010-12-20 13:24:14 -0800
commitd9993be65a77f500ae926176baa264816bfe3816 (patch)
treebbb8c86114bf86e5ca3d1fbf89de3d98be5519ba /include
parentc4266263249f22479eb1abb1a1709c38240b1597 (diff)
parentaa3e219997e4b949be4199660936099ded0b401f (diff)
downloadlinux-d9993be65a77f500ae926176baa264816bfe3816.tar.bz2
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'include')
-rw-r--r--include/net/ip6_route.h10
-rw-r--r--include/net/sch_generic.h6
2 files changed, 11 insertions, 5 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h
index e06e0ca1e91b..8552f0a2e854 100644
--- a/include/net/ip6_route.h
+++ b/include/net/ip6_route.h
@@ -175,5 +175,15 @@ static inline int ipv6_unicast_destination(struct sk_buff *skb)
return rt->rt6i_flags & RTF_LOCAL;
}
+int ip6_fragment(struct sk_buff *skb, int (*output)(struct sk_buff *));
+
+static inline int ip6_skb_dst_mtu(struct sk_buff *skb)
+{
+ struct ipv6_pinfo *np = skb->sk ? inet6_sk(skb->sk) : NULL;
+
+ return (np && np->pmtudisc == IPV6_PMTUDISC_PROBE) ?
+ skb_dst(skb)->dev->mtu : dst_mtu(skb_dst(skb));
+}
+
#endif
#endif
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 786cc396cb4a..0af57ebae762 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -611,11 +611,7 @@ static inline struct sk_buff *skb_act_clone(struct sk_buff *skb, gfp_t gfp_mask,
{
struct sk_buff *n;
- if ((action == TC_ACT_STOLEN || action == TC_ACT_QUEUED) &&
- !skb_shared(skb))
- n = skb_get(skb);
- else
- n = skb_clone(skb, gfp_mask);
+ n = skb_clone(skb, gfp_mask);
if (n) {
n->tc_verd = SET_TC_VERD(n->tc_verd, 0);