]> err.no Git - linux-2.6/blobdiff - net/dccp/output.c
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
[linux-2.6] / net / dccp / output.c
index c40f7f8a328becc117f0c38392ca6d976a066969..efd7ffb903a149a46d38d57e691b20bfba416c67 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/kernel.h>
 #include <linux/skbuff.h>
 
+#include <net/inet_sock.h>
 #include <net/sock.h>
 
 #include "ackvec.h"
@@ -134,12 +135,13 @@ static int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb)
 
 unsigned int dccp_sync_mss(struct sock *sk, u32 pmtu)
 {
+       struct inet_connection_sock *icsk = inet_csk(sk);
        struct dccp_sock *dp = dccp_sk(sk);
-       int mss_now = (pmtu - inet_csk(sk)->icsk_af_ops->net_header_len -
+       int mss_now = (pmtu - icsk->icsk_af_ops->net_header_len -
                       sizeof(struct dccp_hdr) - sizeof(struct dccp_hdr_ext));
 
        /* Now subtract optional transport overhead */
-       mss_now -= dp->dccps_ext_header_len;
+       mss_now -= icsk->icsk_ext_hdr_len;
 
        /*
         * FIXME: this should come from the CCID infrastructure, where, say,
@@ -152,7 +154,7 @@ unsigned int dccp_sync_mss(struct sock *sk, u32 pmtu)
        mss_now -= ((5 + 6 + 10 + 6 + 6 + 6 + 3) / 4) * 4;
 
        /* And store cached results */
-       dp->dccps_pmtu_cookie = pmtu;
+       icsk->icsk_pmtu_cookie = pmtu;
        dp->dccps_mss_cache = mss_now;
 
        return mss_now;