src/dpdk/drivers/net/mlx4/mlx4_mr.c
uint32_t
mlx4_tx_mb2mr_bh(struct txq *txq, struct rte_mbuf *mb)
{
	uintptr_t addr = (uintptr_t)mb->buf_addr;
	uint32_t lkey;

	lkey = mlx4_tx_addr2mr_bh(txq, addr);
	if (lkey == UINT32_MAX && rte_errno == ENXIO) {
		/* Mempool may have externally allocated memory. */
		return mlx4_tx_update_ext_mp(txq, addr, mlx4_mb2mp(mb));
	}
	return lkey;
}
/**
 * Bottom-half of LKey search on Tx. If it can't be searched in the memseg
 * list, register the mempool of the mbuf as externally allocated memory.
 *
 * @param txq
 *   Pointer to Tx queue structure.
 * @param mb
 *   Pointer to mbuf.
 *
 * @return
 *   Searched LKey on success, UINT32_MAX on no match.
 */
Bottom-half of LKey search on Tx. If it can't be searched in the memseg
list, register the mempool of the mbuf as externally allocated memory.

@param txq
Pointer to Tx queue structure.
@param mb
Pointer to mbuf.

@return
Searched LKey on success, UINT32_MAX on no match.
Bottom - half of LKey search on Tx . If it can ' t be searched in the memseg list register the mempool of the mbuf as externally allocated memory . @param txq Pointer to Tx queue structure . @param mb Pointer to mbuf . @return Searched LKey on success UINT32_MAX on no match .
uint32_t
mlx4_tx_mb2mr_bh(struct txq *txq, struct rte_mbuf *mb)
{
	uintptr_t addr = (uintptr_t)mb->buf_addr;
	uint32_t lkey;
	lkey = mlx4_tx_addr2mr_bh(txq, addr);
	if (lkey == UINT32_MAX && rte_errno == ENXIO) {
		return mlx4_tx_update_ext_mp(txq, addr, mlx4_mb2mp(mb));
	}
	return lkey;
}
uint32_t mlx4_tx_mb2mr_bh ( struct txq * txq , struct rte_mbuf * mb ) { uintptr_t addr = ( uintptr_t ) mb -> buf_addr ; uint32_t lkey ; lkey = mlx4_tx_addr2mr_bh ( txq , addr ) ; if ( lkey == UINT32_MAX && rte_errno == ENXIO ) { return mlx4_tx_update_ext_mp ( txq , addr , mlx4_mb2mp ( mb ) ) ; } return lkey ; }
Bottom-half of LKey search on Tx.
Bottom - half of LKey search on Tx .
/* Mempool may have externally allocated memory. */