[dpdk-dev] [PATCH v4] ethdev: add API to query proxy port to manage transfer flows
David Marchand
david.marchand at redhat.com
Tue Oct 26 16:46:21 CEST 2021
On Thu, Oct 14, 2021 at 5:22 AM Ivan Malov <ivan.malov at oktetlabs.ru> wrote:
>
> Not all DPDK ports in a given switching domain may have the
> privilege to manage "transfer" flows. Add an API to find a
> port with sufficient privileges by any port in the domain.
>
> Signed-off-by: Ivan Malov <ivan.malov at oktetlabs.ru>
> Reviewed-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> Acked-by: Ori Kam <orika at nvidia.com>
> ---
> Patch series [1] has reworked support for "transfer" flows.
> This allows to elaborate on the idea which first appeared
> in RFC [2]. Hence the patch in question.
>
> net/sfc driver is going to support the new API. The
> corresponding patch is already in progress and will
> be provided in the course of this release cycle.
>
> [1] https://patches.dpdk.org/project/dpdk/list/?series=19608
> [2] https://patches.dpdk.org/project/dpdk/list/?series=18737
>
[snip]
> @@ -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));
> + }
> +}
I did not follow this subject, but I find it odd to get a warning
regardless of what is done in testpmd.
Like simply running a forwarding test with null pmd, I get:
$ ./devtools/test-null.sh
EAL: Detected CPU lcores: 8
EAL: Detected NUMA nodes: 1
EAL: Detected static linkage of DPDK
EAL: Multi-process socket /run/user/114840/dpdk/rte/mp_socket
EAL: Selected IOVA mode 'VA'
Interactive-mode selected
Auto-start selected
vvvv
Error picking flow transfer proxy for port 0: Function not implemented - ignore
Error picking flow transfer proxy for port 1: Function not implemented - ignore
^^^^
testpmd: create a new mbuf pool <mb_pool_0>: n=2048, size=2176, socket=0
testpmd: preferred mempool ops selected: ring_mp_mc
Configuring Port 0 (socket 0)
Port 0: 12:C9:63:52:5A:8B
Configuring Port 1 (socket 0)
Port 1: 92:69:E3:1E:31:82
Checking link statuses...
--
David Marchand
More information about the dev
mailing list