| 321 | } |
| 322 | |
| 323 | static inline void |
| 324 | dpaa_unsegmented_checksum(struct rte_mbuf *mbuf, struct qm_fd *fd_arr) |
| 325 | { |
| 326 | if (!mbuf->packet_type) { |
| 327 | struct rte_net_hdr_lens hdr_lens; |
| 328 | |
| 329 | mbuf->packet_type = rte_net_get_ptype(mbuf, &hdr_lens, |
| 330 | RTE_PTYPE_L2_MASK | RTE_PTYPE_L3_MASK |
| 331 | | RTE_PTYPE_L4_MASK); |
| 332 | mbuf->l2_len = hdr_lens.l2_len; |
| 333 | mbuf->l3_len = hdr_lens.l3_len; |
| 334 | } |
| 335 | if (mbuf->data_off < (DEFAULT_TX_ICEOF + |
| 336 | sizeof(struct dpaa_eth_parse_results_t))) { |
| 337 | DPAA_DP_LOG(DEBUG, "Checksum offload Err: " |
| 338 | "Not enough Headroom " |
| 339 | "space for correct Checksum offload." |
| 340 | "So Calculating checksum in Software."); |
| 341 | dpaa_checksum(mbuf); |
| 342 | } else { |
| 343 | dpaa_checksum_offload(mbuf, fd_arr, mbuf->buf_addr); |
| 344 | } |
| 345 | } |
| 346 | |
| 347 | static struct rte_mbuf * |
| 348 | dpaa_eth_sg_to_mbuf(const struct qm_fd *fd, uint32_t ifid) |
no test coverage detected