[dpdk-test-report] |WARNING| pw101522 [PATCH] [v4] ethdev: add API to query proxy port to manage transfer flows

dpdklab at iol.unh.edu dpdklab at iol.unh.edu
Thu Oct 14 05:58:48 CEST 2021


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

_apply patch failure_

Submitter: Ivan Malov <Ivan.Malov at oktetlabs.ru>
Date: Thursday, October 14 2021 03:21:45 
Applied on: CommitID:d75eed0fbe4b942bc6df2e2908a8b5c2c30c99aa
Apply patch set 101522 failed:

Checking patch app/test-pmd/config.c...
Checking patch app/test-pmd/testpmd.c...
error: while searching for:
	}
}

static int
eth_dev_configure_mp(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
		      const struct rte_eth_conf *dev_conf)

error: patch failed: app/test-pmd/testpmd.c:568
error: while searching for:
	int i;

	eth_rx_metadata_negotiate_mp(pid);

	port->dev_conf.txmode = tx_mode;
	port->dev_conf.rxmode = rx_mode;

error: patch failed: app/test-pmd/testpmd.c:1525
Checking patch app/test-pmd/testpmd.h...
Checking patch app/test-pmd/util.c...
Checking patch doc/guides/rel_notes/release_21_11.rst...
error: while searching for:
  * Added ``rte_eth_macaddrs_get`` to allow user to retrieve all Ethernet
    addresses assigned to given ethernet port.

* **Updated af_packet ethdev driver.**

  * Default VLAN strip behavior was changed. VLAN tag won't be stripped

error: patch failed: doc/guides/rel_notes/release_21_11.rst:81
Checking patch lib/ethdev/rte_flow.c...
Hunk #1 succeeded at 1266 (offset -4 lines).
Checking patch lib/ethdev/rte_flow.h...
error: while searching for:
	 *
	 * The application should match traffic originating from precise
	 * locations. See items PORT_REPRESENTOR and REPRESENTED_PORT.
	 */
	uint32_t transfer:1;
	uint32_t reserved:29; /**< Reserved, must be zero. */

error: patch failed: lib/ethdev/rte_flow.h:122
Hunk #2 succeeded at 4288 (offset -145 lines).
Checking patch lib/ethdev/rte_flow_driver.h...
Checking patch lib/ethdev/version.map...
error: while searching for:
	# added in 21.11
	rte_eth_macaddrs_get;
	rte_eth_rx_metadata_negotiate;
};

INTERNAL {

error: patch failed: lib/ethdev/version.map:251
Applied patch app/test-pmd/config.c cleanly.
Applying patch app/test-pmd/testpmd.c with 2 rejects...
Rejected hunk #1.
Rejected hunk #2.
Applied patch app/test-pmd/testpmd.h cleanly.
Applied patch app/test-pmd/util.c cleanly.
Applying patch doc/guides/rel_notes/release_21_11.rst with 1 reject...
Rejected hunk #1.
Applied patch lib/ethdev/rte_flow.c cleanly.
Applying patch lib/ethdev/rte_flow.h with 1 reject...
Rejected hunk #1.
Hunk #2 applied cleanly.
Applied patch lib/ethdev/rte_flow_driver.h cleanly.
Applying patch lib/ethdev/version.map with 1 reject...
Rejected hunk #1.
diff a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c	(rejected hunks)
@@ -568,6 +568,25 @@ eth_rx_metadata_negotiate_mp(uint16_t port_id)
 	}
 }
 
+static void
+flow_pick_transfer_proxy_mp(uint16_t port_id)
+{
+	struct rte_port *port = &ports[port_id];
+	int ret;
+
+	port->flow_transfer_proxy = port_id;
+
+	if (!is_proc_primary())
+		return;
+
+	ret = rte_flow_pick_transfer_proxy(port_id, &port->flow_transfer_proxy,
+					   NULL);
+	if (ret != 0) {
+		fprintf(stderr, "Error picking flow transfer proxy for port %u: %s - ignore\n",
+			port_id, rte_strerror(-ret));
+	}
+}
+
 static int
 eth_dev_configure_mp(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 		      const struct rte_eth_conf *dev_conf)
@@ -1525,6 +1544,7 @@ init_config_port_offloads(portid_t pid, uint32_t socket_id)
 	int i;
 
 	eth_rx_metadata_negotiate_mp(pid);
+	flow_pick_transfer_proxy_mp(pid);
 
 	port->dev_conf.txmode = tx_mode;
 	port->dev_conf.rxmode = rx_mode;
diff a/doc/guides/rel_notes/release_21_11.rst b/doc/guides/rel_notes/release_21_11.rst	(rejected hunks)
@@ -81,6 +81,9 @@ New Features
   * Added ``rte_eth_macaddrs_get`` to allow user to retrieve all Ethernet
     addresses assigned to given ethernet port.
 
+* **Added an API to get a proxy port to manage "transfer" flows**
+  A new API, ``rte_flow_pick_transfer_proxy()``, was added.
+
 * **Updated af_packet ethdev driver.**
 
   * Default VLAN strip behavior was changed. VLAN tag won't be stripped
diff a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h	(rejected hunks)
@@ -122,6 +122,9 @@ struct rte_flow_attr {
 	 *
 	 * The application should match traffic originating from precise
 	 * locations. See items PORT_REPRESENTOR and REPRESENTED_PORT.
+	 *
+	 * Managing "transfer" flows requires that the user communicate them
+	 * through a suitable port. @see rte_flow_pick_transfer_proxy().
 	 */
 	uint32_t transfer:1;
 	uint32_t reserved:29; /**< Reserved, must be zero. */
diff a/lib/ethdev/version.map b/lib/ethdev/version.map	(rejected hunks)
@@ -251,6 +251,7 @@ EXPERIMENTAL {
 	# added in 21.11
 	rte_eth_macaddrs_get;
 	rte_eth_rx_metadata_negotiate;
+	rte_flow_pick_transfer_proxy;
 };
 
 INTERNAL {

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

UNH-IOL DPDK Community Lab


More information about the test-report mailing list