View | Details | Raw Unified | Return to bug 255164
Collapse All | Expand All

(-)b/sys/netinet/ip_divert.c (+6 lines)
Lines 212-222 divert_packet(struct mbuf *m, bool incoming) Link Here
212
212
213
	/* Delayed checksums are currently not compatible with divert. */
213
	/* Delayed checksums are currently not compatible with divert. */
214
	if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) {
214
	if (m->m_pkthdr.csum_flags & CSUM_DELAY_DATA) {
215
		m = mb_unmapped_to_ext(m);
216
		if (m == NULL)
217
			return;
215
		in_delayed_cksum(m);
218
		in_delayed_cksum(m);
216
		m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA;
219
		m->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA;
217
	}
220
	}
218
#if defined(SCTP) || defined(SCTP_SUPPORT)
221
#if defined(SCTP) || defined(SCTP_SUPPORT)
219
	if (m->m_pkthdr.csum_flags & CSUM_SCTP) {
222
	if (m->m_pkthdr.csum_flags & CSUM_SCTP) {
223
		m = mb_unmapped_to_ext(m);
224
		if (m == NULL)
225
			return;
220
		sctp_delayed_cksum(m, (uint32_t)(ip->ip_hl << 2));
226
		sctp_delayed_cksum(m, (uint32_t)(ip->ip_hl << 2));
221
		m->m_pkthdr.csum_flags &= ~CSUM_SCTP;
227
		m->m_pkthdr.csum_flags &= ~CSUM_SCTP;
222
	}
228
	}

Return to bug 255164