pipe++;
 
                        /* packets are sent sequentially */
-                       BUG_ON(seqp->ccid2s_seq <= prev->ccid2s_seq);
+                       BUG_ON(dccp_delta_seqno(seqp->ccid2s_seq,
+                                               prev->ccid2s_seq ) >= 0);
                        BUG_ON(time_before(seqp->ccid2s_sent,
                                           prev->ccid2s_sent));
 
                hctx->ccid2hctx_rpseq = seqno;
        } else {
                /* check if packet is consecutive */
-               if ((hctx->ccid2hctx_rpseq + 1) == seqno)
-                       hctx->ccid2hctx_rpseq++;
+               if (dccp_delta_seqno(hctx->ccid2hctx_rpseq, seqno) == 1)
+                       hctx->ccid2hctx_rpseq = seqno;
                /* it's a later packet */
                else if (after48(seqno, hctx->ccid2hctx_rpseq)) {
                        hctx->ccid2hctx_rpdupack++;