Revert "net: ip, ipv6: handle gso skbs in forwarding path"
[pandora-kernel.git] / net / ipv6 / ip6_output.c
index 14753d3..064b5c9 100644 (file)
@@ -381,17 +381,6 @@ static inline int ip6_forward_finish(struct sk_buff *skb)
        return dst_output(skb);
 }
 
-static bool ip6_pkt_too_big(const struct sk_buff *skb, unsigned int mtu)
-{
-       if (skb->len <= mtu || skb->local_df)
-               return false;
-
-       if (skb_is_gso(skb) && skb_gso_network_seglen(skb) <= mtu)
-               return false;
-
-       return true;
-}
-
 int ip6_forward(struct sk_buff *skb)
 {
        struct dst_entry *dst = skb_dst(skb);
@@ -515,7 +504,7 @@ int ip6_forward(struct sk_buff *skb)
        if (mtu < IPV6_MIN_MTU)
                mtu = IPV6_MIN_MTU;
 
-       if (ip6_pkt_too_big(skb, mtu)) {
+       if (skb->len > mtu && !skb_is_gso(skb)) {
                /* Again, force OUTPUT device used as source address */
                skb->dev = dst->dev;
                icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);