net/mlx5: add runtime parameter to enable Direct Verbs
[dpdk.git] / drivers / net / mlx5 / mlx5.h
index a3a34cf..0358ee4 100644 (file)
@@ -51,6 +51,7 @@ enum {
        PCI_DEVICE_ID_MELLANOX_CONNECTX5EX = 0x1019,
        PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF = 0x101a,
        PCI_DEVICE_ID_MELLANOX_CONNECTX5BF = 0xa2d2,
+       PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF = 0xa2d3,
 };
 
 /** Switch information returned by mlx5_nl_switch_info(). */
@@ -99,7 +100,6 @@ struct mlx5_dev_config {
        unsigned int hw_fcs_strip:1; /* FCS stripping is supported. */
        unsigned int hw_padding:1; /* End alignment padding is supported. */
        unsigned int vf:1; /* This is a VF. */
-       unsigned int mps:2; /* Multi-packet send supported mode. */
        unsigned int tunnel_en:1;
        /* Whether tunnel stateless offloads are supported. */
        unsigned int mpls_en:1; /* MPLS over GRE/UDP is enabled. */
@@ -111,6 +111,7 @@ struct mlx5_dev_config {
        unsigned int mpw_hdr_dseg:1; /* Enable DSEGs in the title WQEBB. */
        unsigned int l3_vxlan_en:1; /* Enable L3 VXLAN flow creation. */
        unsigned int vf_nl_en:1; /* Enable Netlink requests in VF mode. */
+       unsigned int dv_flow_en:1; /* Enable DV flow. */
        unsigned int swp:1; /* Tx generic tunnel checksum and TSO offload. */
        struct {
                unsigned int enabled:1; /* Whether MPRQ is enabled. */
@@ -122,6 +123,7 @@ struct mlx5_dev_config {
                unsigned int min_rxqs_num;
                /* Rx queue count threshold to enable MPRQ. */
        } mprq; /* Configurations for Multi-Packet RQ. */
+       int mps; /* Multi-packet send supported mode. */
        unsigned int flow_prio; /* Number of flow priorities. */
        unsigned int tso_max_payload_sz; /* Maximum TCP payload for TSO. */
        unsigned int ind_table_max_size; /* Maximum indirection table size. */
@@ -212,6 +214,7 @@ struct priv {
        LIST_HEAD(txqibv, mlx5_txq_ibv) txqsibv; /* Verbs Tx queues. */
        /* Verbs Indirection tables. */
        LIST_HEAD(ind_tables, mlx5_ind_table_ibv) ind_tbls;
+       LIST_HEAD(matchers, mlx5_flow_dv_matcher) matchers;
        uint32_t link_speed_capa; /* Link speed capabilities. */
        struct mlx5_xstats_ctrl xstats_ctrl; /* Extended stats control. */
        int primary_socket; /* Unix socket for primary process. */