net/mlx5: allow implicit LRO flow
[dpdk.git] / drivers / net / mlx5 / mlx5.h
index 92daf86..5c40091 100644 (file)
@@ -198,9 +198,6 @@ TAILQ_HEAD(mlx5_flows, rte_flow);
 #define MLX5_LRO_ENABLED(dev) \
        ((dev)->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_TCP_LRO)
 
-#define MLX5_FLOW_IPV4_LRO     (1 << 0)
-#define MLX5_FLOW_IPV6_LRO     (1 << 1)
-
 /* LRO configurations structure. */
 struct mlx5_lro_config {
        uint32_t supported:1; /* Whether LRO is supported. */
@@ -375,7 +372,7 @@ LIST_HEAD(mlx5_mr_list, mlx5_mr);
 /* Flow drop context necessary due to Verbs API. */
 struct mlx5_drop {
        struct mlx5_hrxq *hrxq; /* Hash Rx queue queue. */
-       struct mlx5_rxq_ibv *rxq; /* Verbs Rx queue. */
+       struct mlx5_rxq_obj *rxq; /* Rx queue object. */
 };
 
 #define MLX5_COUNTERS_PER_POOL 512
@@ -525,6 +522,7 @@ struct mlx5_ibv_shared {
        uint32_t max_port; /* Maximal IB device port index. */
        struct ibv_context *ctx; /* Verbs/DV context. */
        struct ibv_pd *pd; /* Protection Domain. */
+       uint32_t pdn; /* Protection Domain number. */
        uint32_t tdn; /* Transport Domain number. */
        char ibdev_name[IBV_SYSFS_NAME_MAX]; /* IB device name. */
        char ibdev_path[IBV_SYSFS_PATH_MAX]; /* IB device path for secondary */
@@ -613,17 +611,18 @@ struct mlx5_priv {
        struct mlx5_flows flows; /* RTE Flow rules. */
        struct mlx5_flows ctrl_flows; /* Control flow rules. */
        LIST_HEAD(rxq, mlx5_rxq_ctrl) rxqsctrl; /* DPDK Rx queues. */
-       LIST_HEAD(rxqibv, mlx5_rxq_ibv) rxqsibv; /* Verbs Rx queues. */
+       LIST_HEAD(rxqobj, mlx5_rxq_obj) rxqsobj; /* Verbs/DevX Rx queues. */
        LIST_HEAD(hrxq, mlx5_hrxq) hrxqs; /* Verbs Hash Rx queues. */
        LIST_HEAD(txq, mlx5_txq_ctrl) txqsctrl; /* DPDK Tx queues. */
        LIST_HEAD(txqibv, mlx5_txq_ibv) txqsibv; /* Verbs Tx queues. */
-       /* Verbs Indirection tables. */
-       LIST_HEAD(ind_tables, mlx5_ind_table_ibv) ind_tbls;
+       /* Indirection tables. */
+       LIST_HEAD(ind_tables, mlx5_ind_table_obj) ind_tbls;
        /* Pointer to next element. */
        rte_atomic32_t refcnt; /**< Reference counter. */
        struct ibv_flow_action *verbs_action;
        /**< Verbs modify header action object. */
        uint8_t ft_type; /**< Flow table type, Rx or Tx. */
+       uint8_t max_lro_msg_size;
        /* Tags resources cache. */
        uint32_t link_speed_capa; /* Link speed capabilities. */
        struct mlx5_xstats_ctrl xstats_ctrl; /* Extended stats control. */