netfilter: bridge: kill nf_bridge_pad
[sfrench/cifs-2.6.git] / net / ipv4 / ip_output.c
index d68199d9b2b01faf7a5272862b7cd8658f08c8ae..90b49e88e84a63d0b46fc01c2ded1e3dddd61fcb 100644 (file)
@@ -636,10 +636,7 @@ slow_path:
        left = skb->len - hlen;         /* Space per frame */
        ptr = hlen;             /* Where to start from */
 
-       /* for bridged IP traffic encapsulated inside f.e. a vlan header,
-        * we need to make room for the encapsulating header
-        */
-       ll_rs = LL_RESERVED_SPACE_EXTRA(rt->dst.dev, nf_bridge_pad(skb));
+       ll_rs = LL_RESERVED_SPACE(rt->dst.dev);
 
        /*
         *      Fragment the datagram.
@@ -888,7 +885,8 @@ static int __ip_append_data(struct sock *sk,
        cork->length += length;
        if (((length > mtu) || (skb && skb_is_gso(skb))) &&
            (sk->sk_protocol == IPPROTO_UDP) &&
-           (rt->dst.dev->features & NETIF_F_UFO) && !rt->dst.header_len) {
+           (rt->dst.dev->features & NETIF_F_UFO) && !rt->dst.header_len &&
+           (sk->sk_type == SOCK_DGRAM)) {
                err = ip_ufo_append_data(sk, queue, getfrag, from, length,
                                         hh_len, fragheaderlen, transhdrlen,
                                         maxfraglen, flags);