#include "mlx5_autoconf.h"
#include "mlx5_defs.h"
#include "mlx5.h"
-#include "mlx5_mr.h"
#include "mlx5_utils.h"
#include "mlx5_rxtx.h"
#include "mlx5_rx.h"
/*
* The index should have:
- * bit[0] = PKT_TX_TCP_SEG
- * bit[2:3] = PKT_TX_UDP_CKSUM, PKT_TX_TCP_CKSUM
- * bit[4] = PKT_TX_IP_CKSUM
- * bit[8] = PKT_TX_OUTER_IP_CKSUM
+ * bit[0] = RTE_MBUF_F_TX_TCP_SEG
+ * bit[2:3] = RTE_MBUF_F_TX_UDP_CKSUM, RTE_MBUF_F_TX_TCP_CKSUM
+ * bit[4] = RTE_MBUF_F_TX_IP_CKSUM
+ * bit[8] = RTE_MBUF_F_TX_OUTER_IP_CKSUM
* bit[9] = tunnel
*/
for (i = 0; i < RTE_DIM(mlx5_cksum_table); ++i) {
/*
* The index should have:
- * bit[0:1] = PKT_TX_L4_MASK
- * bit[4] = PKT_TX_IPV6
- * bit[8] = PKT_TX_OUTER_IPV6
- * bit[9] = PKT_TX_OUTER_UDP
+ * bit[0:1] = RTE_MBUF_F_TX_L4_MASK
+ * bit[4] = RTE_MBUF_F_TX_IPV6
+ * bit[8] = RTE_MBUF_F_TX_OUTER_IPV6
+ * bit[9] = RTE_MBUF_F_TX_OUTER_UDP
*/
for (i = 0; i < RTE_DIM(mlx5_swp_types_table); ++i) {
v = 0;
v |= MLX5_ETH_WQE_L4_OUTER_UDP;
if (i & (1 << 4))
v |= MLX5_ETH_WQE_L3_INNER_IPV6;
- if ((i & 3) == (PKT_TX_UDP_CKSUM >> 52))
+ if ((i & 3) == (RTE_MBUF_F_TX_UDP_CKSUM >> 52))
v |= MLX5_ETH_WQE_L4_INNER_UDP;
mlx5_swp_types_table[i] = v;
}
struct mlx5_priv *priv = dev->data->dev_private;
if (sm->is_wq) {
- struct mlx5_rxq_data *rxq = (*priv->rxqs)[sm->queue_id];
- struct mlx5_rxq_ctrl *rxq_ctrl =
- container_of(rxq, struct mlx5_rxq_ctrl, rxq);
+ struct mlx5_rxq_priv *rxq = mlx5_rxq_get(dev, sm->queue_id);
- ret = priv->obj_ops.rxq_obj_modify(rxq_ctrl->obj, sm->state);
+ ret = priv->obj_ops.rxq_obj_modify(rxq, sm->state);
if (ret) {
DRV_LOG(ERR, "Cannot change Rx WQ state to %u - %s",
sm->state, strerror(errno));
}
return ret;
}
-
-/* Generate routines with Enhanced Multi-Packet Write support. */
-MLX5_TXOFF_DECL(full_empw,
- MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(none_empw,
- MLX5_TXOFF_CONFIG_NONE | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(md_empw,
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mt_empw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mtsc_empw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mti_empw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mtv_empw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mtiv_empw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(sc_empw,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(sci_empw,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(scv_empw,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(sciv_empw,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(i_empw,
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(v_empw,
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(iv_empw,
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_EMPW)
-
-/* Generate routines without Enhanced Multi-Packet Write support. */
-MLX5_TXOFF_DECL(full,
- MLX5_TXOFF_CONFIG_FULL)
-
-MLX5_TXOFF_DECL(none,
- MLX5_TXOFF_CONFIG_NONE)
-
-MLX5_TXOFF_DECL(md,
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(mt,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(mtsc,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(mti,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA)
-
-
-MLX5_TXOFF_DECL(mtv,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-
-MLX5_TXOFF_DECL(mtiv,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(sc,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(sci,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA)
-
-
-MLX5_TXOFF_DECL(scv,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-
-MLX5_TXOFF_DECL(sciv,
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(i,
- MLX5_TXOFF_CONFIG_INLINE |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(v,
- MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-MLX5_TXOFF_DECL(iv,
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA)
-
-/* Generate routines with timestamp scheduling. */
-MLX5_TXOFF_DECL(full_ts_nompw,
- MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP)
-
-MLX5_TXOFF_DECL(full_ts_nompwi,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_VLAN | MLX5_TXOFF_CONFIG_METADATA |
- MLX5_TXOFF_CONFIG_TXPP)
-
-MLX5_TXOFF_DECL(full_ts,
- MLX5_TXOFF_CONFIG_FULL | MLX5_TXOFF_CONFIG_TXPP |
- MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(full_ts_noi,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_SWP | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_VLAN | MLX5_TXOFF_CONFIG_METADATA |
- MLX5_TXOFF_CONFIG_TXPP | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(none_ts,
- MLX5_TXOFF_CONFIG_NONE | MLX5_TXOFF_CONFIG_TXPP |
- MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mdi_ts,
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_METADATA |
- MLX5_TXOFF_CONFIG_TXPP | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mti_ts,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_METADATA |
- MLX5_TXOFF_CONFIG_TXPP | MLX5_TXOFF_CONFIG_EMPW)
-
-MLX5_TXOFF_DECL(mtiv_ts,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_TSO |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_VLAN |
- MLX5_TXOFF_CONFIG_METADATA | MLX5_TXOFF_CONFIG_TXPP |
- MLX5_TXOFF_CONFIG_EMPW)
-
-/*
- * Generate routines with Legacy Multi-Packet Write support.
- * This mode is supported by ConnectX-4 Lx only and imposes
- * offload limitations, not supported:
- * - ACL/Flows (metadata are becoming meaningless)
- * - WQE Inline headers
- * - SRIOV (E-Switch offloads)
- * - VLAN insertion
- * - tunnel encapsulation/decapsulation
- * - TSO
- */
-MLX5_TXOFF_DECL(none_mpw,
- MLX5_TXOFF_CONFIG_NONE | MLX5_TXOFF_CONFIG_EMPW |
- MLX5_TXOFF_CONFIG_MPW)
-
-MLX5_TXOFF_DECL(mci_mpw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
- MLX5_TXOFF_CONFIG_MPW)
-
-MLX5_TXOFF_DECL(mc_mpw,
- MLX5_TXOFF_CONFIG_MULTI | MLX5_TXOFF_CONFIG_CSUM |
- MLX5_TXOFF_CONFIG_EMPW | MLX5_TXOFF_CONFIG_MPW)
-
-MLX5_TXOFF_DECL(i_mpw,
- MLX5_TXOFF_CONFIG_INLINE | MLX5_TXOFF_CONFIG_EMPW |
- MLX5_TXOFF_CONFIG_MPW)