[dpdk-test-report] |WARNING| pw102631-102638 [PATCH] [v4, 8/8] net/mlx5: check DevX to support more Verbs ports

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Fri Oct 22 11:29:58 CEST 2021


Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/102631

_apply patch failure_

Submitter: Xueming Li <xuemingl at nvidia.com>
Date: Friday, October 22 2021 09:11:42 
Applied on: CommitID:3ac2dffae88e8eb5c374b1fdd40d605014526510
Apply patch set 102631-102638 failed:

Checking patch drivers/net/mlx5/linux/mlx5_os.c...
Hunk #1 succeeded at 956 (offset 51 lines).
Hunk #2 succeeded at 976 (offset 52 lines).
error: while searching for:
		" old OFED/rdma-core version or firmware configuration");
#endif
	config->mpls_en = mpls_en;
	/* Check port status. */
	err = mlx5_glue->query_port(sh->cdev->ctx, spawn->phys_port,
				    &port_attr);
	if (err) {
		DRV_LOG(ERR, "port query failed: %s", strerror(err));
		goto error;
	}
	if (port_attr.link_layer != IBV_LINK_LAYER_ETHERNET) {
		DRV_LOG(ERR, "port is not configured in Ethernet mode");
		err = EINVAL;
		goto error;
	}
	if (port_attr.state != IBV_PORT_ACTIVE)
		DRV_LOG(DEBUG, "port is not active: \"%s\" (%d)",
			mlx5_glue->port_state_str(port_attr.state),
			port_attr.state);
	/* Allocate private eth device data. */

error: patch failed: drivers/net/mlx5/linux/mlx5_os.c:1121
Hunk #4 succeeded at 1199 (offset 32 lines).
Hunk #5 succeeded at 1910 (offset 50 lines).
Hunk #6 succeeded at 1933 (offset 50 lines).
Applying patch drivers/net/mlx5/linux/mlx5_os.c with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Rejected hunk #3.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
diff a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c	(rejected hunks)
@@ -1121,20 +1122,35 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		" old OFED/rdma-core version or firmware configuration");
 #endif
 	config->mpls_en = mpls_en;
+	nl_rdma = mlx5_nl_init(NETLINK_RDMA);
 	/* Check port status. */
-	err = mlx5_glue->query_port(sh->cdev->ctx, spawn->phys_port,
-				    &port_attr);
-	if (err) {
-		DRV_LOG(ERR, "port query failed: %s", strerror(err));
-		goto error;
-	}
-	if (port_attr.link_layer != IBV_LINK_LAYER_ETHERNET) {
-		DRV_LOG(ERR, "port is not configured in Ethernet mode");
-		err = EINVAL;
-		goto error;
+	if (spawn->phys_port <= UINT8_MAX) {
+		/* Legacy Verbs api only support u8 port number. */
+		err = mlx5_glue->query_port(sh->cdev->ctx, spawn->phys_port,
+					    &port_attr);
+		if (err) {
+			DRV_LOG(ERR, "port query failed: %s", strerror(err));
+			goto error;
+		}
+		if (port_attr.link_layer != IBV_LINK_LAYER_ETHERNET) {
+			DRV_LOG(ERR, "port is not configured in Ethernet mode");
+			err = EINVAL;
+			goto error;
+		}
+	} else if (nl_rdma >= 0) {
+		/* IB doesn't allow more than 255 ports, must be Ethernet. */
+		err = mlx5_nl_port_state(nl_rdma, spawn->phys_dev_name,
+					 spawn->phys_port);
+		if (err < 0) {
+			DRV_LOG(INFO, "Failed to get netlink port state: %s",
+				strerror(rte_errno));
+			err = -rte_errno;
+			goto error;
+		}
+		port_attr.state = (enum ibv_port_state)err;
 	}
 	if (port_attr.state != IBV_PORT_ACTIVE)
-		DRV_LOG(DEBUG, "port is not active: \"%s\" (%d)",
+		DRV_LOG(INFO, "port is not active: \"%s\" (%d)",
 			mlx5_glue->port_state_str(port_attr.state),
 			port_attr.state);
 	/* Allocate private eth device data. */
Checking patch drivers/net/mlx5/linux/mlx5_os.c...
error: drivers/net/mlx5/linux/mlx5_os.c: does not match index
Checking patch drivers/net/mlx5/mlx5.h...
Hunk #1 succeeded at 1709 (offset 45 lines).
Checking patch drivers/net/mlx5/mlx5_devx.c...
Hunk #2 succeeded at 1118 (offset -3 lines).
Hunk #3 succeeded at 1187 (offset -3 lines).
Checking patch drivers/net/mlx5/mlx5_devx.h...
Checking patch drivers/net/mlx5/mlx5_flow.c...
Hunk #1 succeeded at 6573 (offset -23 lines).
Checking patch drivers/net/mlx5/mlx5_trigger.c...
Applied patch drivers/net/mlx5/mlx5.h cleanly.
Applied patch drivers/net/mlx5/mlx5_devx.c cleanly.
Applied patch drivers/net/mlx5/mlx5_devx.h cleanly.
Applied patch drivers/net/mlx5/mlx5_flow.c cleanly.
Applied patch drivers/net/mlx5/mlx5_trigger.c cleanly.
Checking patch drivers/net/mlx5/linux/mlx5_os.c...
error: drivers/net/mlx5/linux/mlx5_os.c: does not match index

https://lab.dpdk.org/results/dashboard/patchsets/19642/

UNH-IOL DPDK Community Lab


More information about the test-report mailing list