Index: ip_output.c =================================================================== RCS file: /cvs/src/sys/netinet/ip_output.c,v retrieving revision 1.368 diff -u -p -r1.368 ip_output.c --- ip_output.c 1 Mar 2021 11:05:42 -0000 1.368 +++ ip_output.c 7 Mar 2021 22:58:13 -0000 @@ -688,13 +688,11 @@ ip_fragment(struct mbuf *m, struct mbuf_ goto bad; } ml_enqueue(fml, m); + if ((error = m_dup_pkthdr(m, m0, M_DONTWAIT)) != 0) + goto bad; m->m_data += max_linkhdr; mhip = mtod(m, struct ip *); *mhip = *ip; - /* we must inherit MCAST/BCAST flags, routing table and prio */ - m->m_flags |= m0->m_flags & (M_MCAST|M_BCAST); - m->m_pkthdr.ph_rtableid = m0->m_pkthdr.ph_rtableid; - m->m_pkthdr.pf.prio = m0->m_pkthdr.pf.prio; if (hlen > sizeof (struct ip)) { mhlen = ip_optcopy(ip, mhip) + sizeof (struct ip); mhip->ip_hl = mhlen >> 2;