Lines Matching refs:txm
73 struct rte_mbuf *txm, *next; in ionic_tx_flush() local
110 txm = info[0]; in ionic_tx_flush()
111 while (txm != NULL) { in ionic_tx_flush()
112 next = txm->next; in ionic_tx_flush()
113 rte_pktmbuf_free_seg(txm); in ionic_tx_flush()
114 txm = next; in ionic_tx_flush()
253 ionic_tx_tcp_pseudo_csum(struct rte_mbuf *txm) in ionic_tx_tcp_pseudo_csum() argument
255 struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(txm, struct ether_hdr *); in ionic_tx_tcp_pseudo_csum()
256 char *l3_hdr = ((char *)eth_hdr) + txm->l2_len; in ionic_tx_tcp_pseudo_csum()
258 (l3_hdr + txm->l3_len); in ionic_tx_tcp_pseudo_csum()
260 if (txm->ol_flags & RTE_MBUF_F_TX_IP_CKSUM) { in ionic_tx_tcp_pseudo_csum()
273 ionic_tx_tcp_inner_pseudo_csum(struct rte_mbuf *txm) in ionic_tx_tcp_inner_pseudo_csum() argument
275 struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(txm, struct ether_hdr *); in ionic_tx_tcp_inner_pseudo_csum()
276 char *l3_hdr = ((char *)eth_hdr) + txm->outer_l2_len + in ionic_tx_tcp_inner_pseudo_csum()
277 txm->outer_l3_len + txm->l2_len; in ionic_tx_tcp_inner_pseudo_csum()
279 (l3_hdr + txm->l3_len); in ionic_tx_tcp_inner_pseudo_csum()
281 if (txm->ol_flags & RTE_MBUF_F_TX_IPV4) { in ionic_tx_tcp_inner_pseudo_csum()
295 struct rte_mbuf *txm, in ionic_tx_tso_post() argument
318 info[0] = txm; in ionic_tx_tso_post()
338 ionic_tx_tso(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) in ionic_tx_tso() argument
350 uint32_t mss = txm->tso_segsz; in ionic_tx_tso()
358 bool has_vlan = !!(txm->ol_flags & RTE_MBUF_F_TX_VLAN); in ionic_tx_tso()
359 uint16_t vlan_tci = txm->vlan_tci; in ionic_tx_tso()
360 uint64_t ol_flags = txm->ol_flags; in ionic_tx_tso()
373 ionic_tx_tcp_inner_pseudo_csum(txm); in ionic_tx_tso()
374 hdrlen = txm->outer_l2_len + txm->outer_l3_len + in ionic_tx_tso()
375 txm->l2_len + txm->l3_len + txm->l4_len; in ionic_tx_tso()
377 ionic_tx_tcp_pseudo_csum(txm); in ionic_tx_tso()
378 hdrlen = txm->l2_len + txm->l3_len + txm->l4_len; in ionic_tx_tso()
382 left = txm->data_len; in ionic_tx_tso()
383 data_iova = rte_mbuf_data_iova(txm); in ionic_tx_tso()
398 if (txm->nb_segs > 1 && frag_left > 0) in ionic_tx_tso()
400 done = (txm->nb_segs == 1 && left == 0); in ionic_tx_tso()
401 ionic_tx_tso_post(q, desc, txm, in ionic_tx_tso()
414 txm_seg = txm->next; in ionic_tx_tso()
461 ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm) in ionic_tx() argument
472 uint64_t ol_flags = txm->ol_flags; in ionic_tx()
506 addr = rte_cpu_to_le_64(rte_mbuf_data_iova(txm)); in ionic_tx()
508 desc->cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr); in ionic_tx()
509 desc->len = txm->data_len; in ionic_tx()
510 desc->vlan_tci = txm->vlan_tci; in ionic_tx()
512 info[0] = txm; in ionic_tx()
516 txm_seg = txm->next; in ionic_tx()
602 struct rte_mbuf *txm; in ionic_prep_pkts() local
607 txm = tx_pkts[i]; in ionic_prep_pkts()
609 if (txm->nb_segs > txq->num_segs_fw) { in ionic_prep_pkts()
614 offloads = txm->ol_flags; in ionic_prep_pkts()