git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
net: add rte prefix to ether defines
[dpdk.git]
/
drivers
/
net
/
mlx5
/
mlx5_rxtx_vec_sse.h
diff --git
a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
index
14117c4
..
dce3ee4
100644
(file)
--- a/
drivers/net/mlx5/mlx5_rxtx_vec_sse.h
+++ b/
drivers/net/mlx5/mlx5_rxtx_vec_sse.h
@@
-104,6
+104,8
@@
txq_scatter_v(struct mlx5_txq_data *txq, struct rte_mbuf **pkts,
sizeof(struct mlx5_wqe) / MLX5_WQE_DWORD_SIZE;
unsigned int n;
volatile struct mlx5_wqe *wqe = NULL;
sizeof(struct mlx5_wqe) / MLX5_WQE_DWORD_SIZE;
unsigned int n;
volatile struct mlx5_wqe *wqe = NULL;
+ bool metadata_ol =
+ txq->offloads & DEV_TX_OFFLOAD_MATCH_METADATA ? true : false;
assert(elts_n > pkts_n);
mlx5_tx_complete(txq);
assert(elts_n > pkts_n);
mlx5_tx_complete(txq);
@@
-125,6
+127,9
@@
txq_scatter_v(struct mlx5_txq_data *txq, struct rte_mbuf **pkts,
uint16_t max_wqe;
__m128i *t_wqe, *dseg;
__m128i ctrl;
uint16_t max_wqe;
__m128i *t_wqe, *dseg;
__m128i ctrl;
+ rte_be32_t metadata =
+ metadata_ol && (buf->ol_flags & PKT_TX_METADATA) ?
+ buf->tx_metadata : 0;
assert(segs_n);
max_elts = elts_n - (elts_head - txq->elts_tail);
assert(segs_n);
max_elts = elts_n - (elts_head - txq->elts_tail);
@@
-165,9
+170,9
@@
txq_scatter_v(struct mlx5_txq_data *txq, struct rte_mbuf **pkts,
_mm_store_si128(t_wqe, ctrl);
/* Fill ESEG in the header. */
_mm_store_si128(t_wqe + 1,
_mm_store_si128(t_wqe, ctrl);
/* Fill ESEG in the header. */
_mm_store_si128(t_wqe + 1,
- _mm_set_epi
16(0, 0, 0, 0
,
- rte_cpu_to_be_16(len), cs_flags,
-
0
, 0));
+ _mm_set_epi
32(0, metadata
,
+ (rte_cpu_to_be_16(len) << 16) |
+
cs_flags
, 0));
txq->wqe_ci = wqe_ci;
}
if (!n)
txq->wqe_ci = wqe_ci;
}
if (!n)
@@
-369,16
+374,16
@@
rxq_cq_decompress_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
-1, -1, -1, -1 /* skip packet_type */);
/* Restore the compressed count. Must be 16 bits. */
const uint16_t mcqe_n = t_pkt->data_len +
-1, -1, -1, -1 /* skip packet_type */);
/* Restore the compressed count. Must be 16 bits. */
const uint16_t mcqe_n = t_pkt->data_len +
- (rxq->crc_present * ETHER_CRC_LEN);
+ (rxq->crc_present *
RTE_
ETHER_CRC_LEN);
const __m128i rearm =
_mm_loadu_si128((__m128i *)&t_pkt->rearm_data);
const __m128i rxdf =
_mm_loadu_si128((__m128i *)&t_pkt->rx_descriptor_fields1);
const __m128i crc_adj =
_mm_set_epi16(0, 0, 0,
const __m128i rearm =
_mm_loadu_si128((__m128i *)&t_pkt->rearm_data);
const __m128i rxdf =
_mm_loadu_si128((__m128i *)&t_pkt->rx_descriptor_fields1);
const __m128i crc_adj =
_mm_set_epi16(0, 0, 0,
- rxq->crc_present * ETHER_CRC_LEN,
+ rxq->crc_present *
RTE_
ETHER_CRC_LEN,
0,
0,
- rxq->crc_present * ETHER_CRC_LEN,
+ rxq->crc_present *
RTE_
ETHER_CRC_LEN,
0, 0);
const uint32_t flow_tag = t_pkt->hash.fdir.hi;
#ifdef MLX5_PMD_SOFT_COUNTERS
0, 0);
const uint32_t flow_tag = t_pkt->hash.fdir.hi;
#ifdef MLX5_PMD_SOFT_COUNTERS
@@
-694,9
+699,9
@@
rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts, uint16_t pkts_n,
const __m128i ones = _mm_cmpeq_epi32(zero, zero);
const __m128i crc_adj =
_mm_set_epi16(0, 0, 0, 0, 0,
const __m128i ones = _mm_cmpeq_epi32(zero, zero);
const __m128i crc_adj =
_mm_set_epi16(0, 0, 0, 0, 0,
- rxq->crc_present * ETHER_CRC_LEN,
+ rxq->crc_present *
RTE_
ETHER_CRC_LEN,
0,
0,
- rxq->crc_present * ETHER_CRC_LEN);
+ rxq->crc_present *
RTE_
ETHER_CRC_LEN);
const __m128i flow_mark_adj = _mm_set_epi32(rxq->mark * (-1), 0, 0, 0);
assert(rxq->sges_n == 0);
const __m128i flow_mark_adj = _mm_set_epi32(rxq->mark * (-1), 0, 0, 0);
assert(rxq->sges_n == 0);