]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/classq/classq_sfb.c
xnu-3248.20.55.tar.gz
[apple/xnu.git] / bsd / net / classq / classq_sfb.c
index 7d12ba606f03add83bc16efb6e39c93ab995c01b..5831f968f0721d3219e242d7e408bc8e7958c34e 100644 (file)
@@ -1251,6 +1251,7 @@ sfb_addq(struct sfb *sp, class_queue_t *q, struct mbuf *m, struct pf_mtag *t)
         */
        if (droptype == DTYPE_NODROP && qlen(q) >= maxqsize) {
                if (pkt->pkt_proto == IPPROTO_TCP &&
+                   qlen(q) < (maxqsize + (maxqsize >> 1)) &&
                    ((pkt->pkt_flags & PKTF_TCP_REXMT) ||
                    (sp->sfb_flags & SFBF_LAST_PKT_DROPPED))) {
                        /*