Lines Matching refs:txm

75 	struct rte_mbuf *txm, *next;  in ionic_tx_flush()  local
111 txm = q_desc_info->cb_arg; in ionic_tx_flush()
112 while (txm != NULL) { in ionic_tx_flush()
113 next = txm->next; in ionic_tx_flush()
114 rte_pktmbuf_free_seg(txm); in ionic_tx_flush()
115 txm = next; in ionic_tx_flush()
234 ionic_tx_tcp_pseudo_csum(struct rte_mbuf *txm) in ionic_tx_tcp_pseudo_csum() argument
236 struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(txm, struct ether_hdr *); in ionic_tx_tcp_pseudo_csum()
237 char *l3_hdr = ((char *)eth_hdr) + txm->l2_len; in ionic_tx_tcp_pseudo_csum()
239 (l3_hdr + txm->l3_len); in ionic_tx_tcp_pseudo_csum()
241 if (txm->ol_flags & PKT_TX_IP_CKSUM) { in ionic_tx_tcp_pseudo_csum()
254 ionic_tx_tcp_inner_pseudo_csum(struct rte_mbuf *txm) in ionic_tx_tcp_inner_pseudo_csum() argument
256 struct ether_hdr *eth_hdr = rte_pktmbuf_mtod(txm, struct ether_hdr *); in ionic_tx_tcp_inner_pseudo_csum()
257 char *l3_hdr = ((char *)eth_hdr) + txm->outer_l2_len + in ionic_tx_tcp_inner_pseudo_csum()
258 txm->outer_l3_len + txm->l2_len; in ionic_tx_tcp_inner_pseudo_csum()
260 (l3_hdr + txm->l3_len); in ionic_tx_tcp_inner_pseudo_csum()
262 if (txm->ol_flags & PKT_TX_IPV4) { in ionic_tx_tcp_inner_pseudo_csum()
276 struct rte_mbuf *txm, in ionic_tx_tso_post() argument
296 ionic_q_post(q, done, NULL, done ? txm : NULL); in ionic_tx_tso_post()
312 ionic_tx_tso(struct ionic_queue *q, struct rte_mbuf *txm, in ionic_tx_tso() argument
323 uint32_t mss = txm->tso_segsz; in ionic_tx_tso()
331 bool has_vlan = !!(txm->ol_flags & PKT_TX_VLAN_PKT); in ionic_tx_tso()
332 uint16_t vlan_tci = txm->vlan_tci; in ionic_tx_tso()
333 uint64_t ol_flags = txm->ol_flags; in ionic_tx_tso()
346 ionic_tx_tcp_inner_pseudo_csum(txm); in ionic_tx_tso()
347 hdrlen = txm->outer_l2_len + txm->outer_l3_len + in ionic_tx_tso()
348 txm->l2_len + txm->l3_len + txm->l4_len; in ionic_tx_tso()
350 ionic_tx_tcp_pseudo_csum(txm); in ionic_tx_tso()
351 hdrlen = txm->l2_len + txm->l3_len + txm->l4_len; in ionic_tx_tso()
355 left = txm->data_len; in ionic_tx_tso()
365 desc_addr = rte_cpu_to_le_64(rte_mbuf_data_iova_default(txm)); in ionic_tx_tso()
370 if (txm->nb_segs > 1 && frag_left > 0) in ionic_tx_tso()
372 done = (txm->nb_segs == 1 && left == 0); in ionic_tx_tso()
373 ionic_tx_tso_post(q, desc, txm, in ionic_tx_tso()
386 txm_seg = txm->next; in ionic_tx_tso()
434 ionic_tx(struct ionic_queue *q, struct rte_mbuf *txm, in ionic_tx() argument
446 uint64_t ol_flags = txm->ol_flags; in ionic_tx()
447 uint64_t addr = rte_cpu_to_le_64(rte_mbuf_data_iova_default(txm)); in ionic_tx()
473 desc->cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr); in ionic_tx()
474 desc->len = txm->data_len; in ionic_tx()
475 desc->vlan_tci = txm->vlan_tci; in ionic_tx()
477 txm_seg = txm->next; in ionic_tx()
486 ionic_q_post(q, not_xmit_more, NULL, txm); in ionic_tx()
566 struct rte_mbuf *txm; in ionic_prep_pkts() local
571 txm = tx_pkts[i]; in ionic_prep_pkts()
573 if (txm->nb_segs > IONIC_TX_MAX_SG_ELEMS) { in ionic_prep_pkts()
578 offloads = txm->ol_flags; in ionic_prep_pkts()