/* Can we send? if so add options and add to packet history */
        if (rc == 0)
-               new_packet->dccphtx_win_count =
+               new_packet->dccphtx_ccval =
                        DCCP_SKB_CB(skb)->dccpd_ccval =
                                hctx->ccid3hctx_last_win_count;
 out:
                                                            min_t(unsigned long, quarter_rtt, 5)) % 16;
                        ccid3_pr_debug("%s, sk=%p, window changed from %u to %u!\n",
                                       dccp_role(sk), sk,
-                                      packet->dccphtx_win_count,
+                                      packet->dccphtx_ccval,
                                       hctx->ccid3hctx_last_win_count);
                }
                /* COMPLIANCE_END */
                ccid3_pr_debug("%s, sk=%p, packet sent (%llu,%u)\n",
                               dccp_role(sk), sk,
                               packet->dccphtx_seqno,
-                              packet->dccphtx_win_count);
+                              packet->dccphtx_ccval);
 #endif
                hctx->ccid3hctx_idle = 0;
+               packet->dccphtx_rtt  = hctx->ccid3hctx_rtt;
                packet->dccphtx_sent = 1;
        } else
                ccid3_pr_debug("%s, sk=%p, seqno=%llu NOT inserted!\n",
                                        step = 2;
                                        /* OK, find next data packet */
                                        num_later = 1;
-                                       win_count = entry->dccphrx_win_count;
+                                       win_count = entry->dccphrx_ccval;
                                        break;
                                case 2:
-                                       tmp = (win_count -
-                                              entry->dccphrx_win_count);
+                                       tmp = win_count - entry->dccphrx_ccval;
                                        if (tmp < 0)
                                                tmp += TFRC_WIN_COUNT_LIMIT;
                                        if (tmp > TFRC_WIN_COUNT_PER_RTT + 1) {
        }
 
        do_gettimeofday(&(hcrx->ccid3hcrx_tstamp_last_feedback));
-       hcrx->ccid3hcrx_last_counter         = packet->dccphrx_win_count;
+       hcrx->ccid3hcrx_last_counter         = packet->dccphrx_ccval;
        hcrx->ccid3hcrx_seqno_last_counter   = packet->dccphrx_seqno;
        hcrx->ccid3hcrx_bytes_recv           = 0;
 
                        switch (step) {
                        case 0:
                                tstamp    = entry->dccphrx_tstamp;
-                               win_count = entry->dccphrx_win_count;
+                               win_count = entry->dccphrx_ccval;
                                step = 1;
                                break;
                        case 1:
-                               interval = win_count - entry->dccphrx_win_count;
+                               interval = win_count - entry->dccphrx_ccval;
                                if (interval < 0)
                                        interval += TFRC_WIN_COUNT_LIMIT;
                                if (interval > 4)
        }
 
        if (seq_loss != DCCP_MAX_SEQNO + 1)
-               win_loss = a_loss->dccphrx_win_count;
+               win_loss = a_loss->dccphrx_ccval;
 
 out_update_li:
        ccid3_hc_rx_update_li(sk, seq_loss, win_loss);
                return;
        }
 
-       win_count = packet->dccphrx_win_count;
+       win_count = packet->dccphrx_ccval;
 
        ins = ccid3_hc_rx_add_hist(sk, packet);
 
 
 struct dccp_tx_hist_entry {
        struct list_head dccphtx_node;
        u64              dccphtx_seqno:48,
-                        dccphtx_win_count:8,
+                        dccphtx_ccval:4,
                         dccphtx_sent:1;
+       u32              dccphtx_rtt;
        struct timeval   dccphtx_tstamp;
 };
 
 struct dccp_rx_hist_entry {
        struct list_head dccphrx_node;
        u64              dccphrx_seqno:48,
-                        dccphrx_win_count:4,
+                        dccphrx_ccval:4,
                         dccphrx_type:4;
        u32              dccphrx_ndp; /* In fact it is from 8 to 24 bits */
        struct timeval   dccphrx_tstamp;
        if (entry != NULL) {
                const struct dccp_hdr *dh = dccp_hdr(skb);
 
-               entry->dccphrx_seqno     = DCCP_SKB_CB(skb)->dccpd_seq;
-               entry->dccphrx_win_count = dh->dccph_ccval;
-               entry->dccphrx_type      = dh->dccph_type;
-               entry->dccphrx_ndp       = ndp;
+               entry->dccphrx_seqno = DCCP_SKB_CB(skb)->dccpd_seq;
+               entry->dccphrx_ccval = dh->dccph_ccval;
+               entry->dccphrx_type  = dh->dccph_type;
+               entry->dccphrx_ndp   = ndp;
                do_gettimeofday(&(entry->dccphrx_tstamp));
        }