diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-20 13:24:14 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-20 13:24:14 -0800 |
commit | d9993be65a77f500ae926176baa264816bfe3816 (patch) | |
tree | bbb8c86114bf86e5ca3d1fbf89de3d98be5519ba /include | |
parent | c4266263249f22479eb1abb1a1709c38240b1597 (diff) | |
parent | aa3e219997e4b949be4199660936099ded0b401f (diff) |
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.h | 10 | ||||
-rw-r--r-- | include/net/sch_generic.h | 6 |
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); |