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 |
} |