diff --git a/sys/netgraph/ppp/ng_ppp.c b/sys/netgraph/ppp/ng_ppp.c --- a/sys/netgraph/ppp/ng_ppp.c +++ b/sys/netgraph/ppp/ng_ppp.c @@ -1388,6 +1388,19 @@ else if (qent->seq != seq) beg = NULL; if (beg != NULL && qent->last) { + if (priv->conf.mrru > 0) { + int total = 0; + struct ng_ppp_frag *fq; + TAILQ_FOREACH(fq, &priv->frags, f_qent) { + total += fq->data->m_pkthdr.len; + if (fq == qent) + break; + } + if (total > priv->conf.mrru) { + ng_ppp_frag_checkstale(node); + break; + } + } end = qent; break; }