Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / include / net / sock.h
index 54ea26c..f937108 100644 (file)
@@ -116,9 +116,9 @@ struct sock_common {
        unsigned int            skc_hash;
        struct proto            *skc_prot;
        xid_t                   skc_xid;
-       struct vx_info  *skc_vx_info;
+       struct vx_info          *skc_vx_info;
        nid_t                   skc_nid;
-       struct nx_info  *skc_nx_info;
+       struct nx_info          *skc_nx_info;
 };
 
 /**
@@ -1042,9 +1042,13 @@ static inline void sk_setup_caps(struct sock *sk, struct dst_entry *dst)
 {
        __sk_dst_set(sk, dst);
        sk->sk_route_caps = dst->dev->features;
+       if (sk->sk_route_caps & NETIF_F_GSO)
+               sk->sk_route_caps |= NETIF_F_TSO;
        if (sk->sk_route_caps & NETIF_F_TSO) {
                if (sock_flag(sk, SOCK_NO_LARGESEND) || dst->header_len)
                        sk->sk_route_caps &= ~NETIF_F_TSO;
+               else 
+                       sk->sk_route_caps |= NETIF_F_SG | NETIF_F_HW_CSUM;
        }
 }