summaryrefslogtreecommitdiff
path: root/drivers/net/mlx5
diff options
context:
space:
mode:
authorViacheslav Ovsiienko <viacheslavo@mellanox.com>2019-03-27 13:15:44 +0000
committerFerruh Yigit <ferruh.yigit@intel.com>2019-03-29 17:25:32 +0100
commit1e14090e31f75cef592c851f8d752766dd2b5bb1 (patch)
treea4b5c2beefca5ebc007c5fa39145a9a33f027604 /drivers/net/mlx5
parentf048f3d479a67b6df4b1183df98dfc0b2c75c6ac (diff)
downloaddpdk-next-eventdev-1e14090e31f75cef592c851f8d752766dd2b5bb1.zip
dpdk-next-eventdev-1e14090e31f75cef592c851f8d752766dd2b5bb1.tar.gz
dpdk-next-eventdev-1e14090e31f75cef592c851f8d752766dd2b5bb1.tar.xz
net/mlx5: provide IB port for the object being created
The code is updated to provide IB port index for the Verbs objects being created - QPs and Verbs Flows. Signed-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
Diffstat (limited to 'drivers/net/mlx5')
-rw-r--r--drivers/net/mlx5/mlx5_flow.c2
-rw-r--r--drivers/net/mlx5/mlx5_flow_verbs.c1
-rw-r--r--drivers/net/mlx5/mlx5_txq.c4
3 files changed, 5 insertions, 2 deletions
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index dea38e2..d09fdff 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -315,6 +315,7 @@ static struct mlx5_flow_tunnel_info tunnels_info[] = {
int
mlx5_flow_discover_priorities(struct rte_eth_dev *dev)
{
+ struct mlx5_priv *priv = dev->data->dev_private;
struct {
struct ibv_flow_attr attr;
struct ibv_flow_spec_eth eth;
@@ -322,6 +323,7 @@ mlx5_flow_discover_priorities(struct rte_eth_dev *dev)
} flow_attr = {
.attr = {
.num_of_specs = 2,
+ .port = (uint8_t)priv->ibv_port,
},
.eth = {
.type = IBV_FLOW_SPEC_ETH,
diff --git a/drivers/net/mlx5/mlx5_flow_verbs.c b/drivers/net/mlx5/mlx5_flow_verbs.c
index 093509e..ef44752 100644
--- a/drivers/net/mlx5/mlx5_flow_verbs.c
+++ b/drivers/net/mlx5/mlx5_flow_verbs.c
@@ -1550,6 +1550,7 @@ flow_verbs_translate(struct rte_eth_dev *dev,
dev_flow->layers = item_flags;
dev_flow->verbs.attr->priority =
mlx5_flow_adjust_priority(dev, priority, subpriority);
+ dev_flow->verbs.attr->port = (uint8_t)priv->ibv_port;
return 0;
}
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 25305b6..5062f5c 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -445,8 +445,8 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
attr.mod = (struct ibv_qp_attr){
/* Move the QP to this state. */
.qp_state = IBV_QPS_INIT,
- /* Primary port number. */
- .port_num = 1,
+ /* IB device port number. */
+ .port_num = (uint8_t)priv->ibv_port,
};
ret = mlx5_glue->modify_qp(tmpl.qp, &attr.mod,
(IBV_QP_STATE | IBV_QP_PORT));