diff --git a/sys/netinet/ip_reass.c b/sys/netinet/ip_reass.c index fbf9c176956d..6e83800ee7ea 100644 --- a/sys/netinet/ip_reass.c +++ b/sys/netinet/ip_reass.c @@ -377,6 +377,7 @@ ip_reass(struct mbuf *m) q->m_nextpkt = NULL; m->m_pkthdr.csum_flags &= q->m_pkthdr.csum_flags; m->m_pkthdr.csum_data += q->m_pkthdr.csum_data; + m_demote_pkthdr(q); m_cat(m, q); } /* diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index 0384c7fdc80d..3b2773f812f8 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -541,6 +541,7 @@ frag6_input(struct mbuf **mp, int *offp, int proto) while (t->m_next) t = t->m_next; m_adj(IP6_REASS_MBUF(af6), af6->ip6af_offset); + m_demote_pkthdr(IP6_REASS_MBUF(af6)); m_cat(t, IP6_REASS_MBUF(af6)); free(af6, M_FTABLE); af6 = af6dwn;