On Thu, Oct 14, 2021 at 5:22 AM Ivan Malov <ivan.ma...@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.ma...@oktetlabs.ru> > Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> > Acked-by: Ori Kam <or...@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