| 144 | } |
| 145 | |
| 146 | static void |
| 147 | update_mbuf_csumflags(struct mbuf *src, struct mbuf *dst) |
| 148 | { |
| 149 | int csum_flags = 0; |
| 150 | |
| 151 | if (src->m_pkthdr.csum_flags & CSUM_IP) |
| 152 | csum_flags |= (CSUM_IP_CHECKED|CSUM_IP_VALID); |
| 153 | if (src->m_pkthdr.csum_flags & CSUM_DELAY_DATA) |
| 154 | csum_flags |= (CSUM_DATA_VALID|CSUM_PSEUDO_HDR); |
| 155 | if (src->m_pkthdr.csum_flags & CSUM_SCTP) |
| 156 | csum_flags |= CSUM_SCTP_VALID; |
| 157 | dst->m_pkthdr.csum_flags |= csum_flags; |
| 158 | if (csum_flags & CSUM_DATA_VALID) |
| 159 | dst->m_pkthdr.csum_data = 0xffff; |
| 160 | } |
| 161 | |
| 162 | /* |
| 163 | * Handle link-layer encapsulation requests. |