History log of /dpdk/drivers/net/mlx5/linux/ (Results 1 – 25 of 274)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
f956d3d406-Apr-2022 Rongwei Liu <[email protected]>

net/mlx5: fix probing with secondary bonding member

Users can probe primary or secondary PCIe id when bonding is
configured.
1. -a 0a:00.0,representor=pf[0-1]vf[0-1], PMD probes 5 ports
totally: bon

net/mlx5: fix probing with secondary bonding member

Users can probe primary or secondary PCIe id when bonding is
configured.
1. -a 0a:00.0,representor=pf[0-1]vf[0-1], PMD probes 5 ports
totally: bonding device plus 4 representor ports.
2. -a 0a:00.1,representor=pf[0-1]vf[0-1], PMD only probes 2
representor ports.

Under the 2nd condition, bonding IB device doesn't have the same
PCIe id and PMD needs to check bonding relationship otherwise
probe failure.

Fixes: 6856efa54eea ("net/mlx5: fix PF leak on PCI probing failure")
Cc: [email protected]

Signed-off-by: Rongwei Liu <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...


/dpdk/.ci/linux-build.sh
/dpdk/.ci/linux-setup.sh
/dpdk/.github/workflows/build.yml
/dpdk/.travis.yml
/dpdk/ABI_VERSION
/dpdk/MAINTAINERS
/dpdk/VERSION
/dpdk/app/dumpcap/main.c
/dpdk/app/pdump/main.c
/dpdk/app/test-pmd/cmd_flex_item.c
/dpdk/app/test-pmd/cmdline.c
/dpdk/app/test-pmd/cmdline_flow.c
/dpdk/app/test-pmd/csumonly.c
/dpdk/app/test-regex/main.c
/dpdk/app/test/test_bpf.c
/dpdk/app/test/test_graph.c
/dpdk/buildtools/meson.build
/dpdk/devtools/check-abi.sh
/dpdk/devtools/check-symbol-maps.sh
/dpdk/devtools/cocci/namespace_ethdev.cocci
/dpdk/devtools/libabigail.abignore
/dpdk/doc/guides/freebsd_gsg/build_dpdk.rst
/dpdk/doc/guides/freebsd_gsg/intro.rst
/dpdk/doc/guides/howto/pvp_reference_benchmark.rst
/dpdk/doc/guides/linux_gsg/build_dpdk.rst
/dpdk/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
/dpdk/doc/guides/linux_gsg/enable_func.rst
/dpdk/doc/guides/linux_gsg/intro.rst
/dpdk/doc/guides/linux_gsg/linux_drivers.rst
/dpdk/doc/guides/linux_gsg/sys_reqs.rst
/dpdk/doc/guides/nics/intel_vf.rst
/dpdk/doc/guides/nics/mlx5.rst
/dpdk/doc/guides/prog_guide/cryptodev_lib.rst
/dpdk/doc/guides/prog_guide/rte_flow.rst
/dpdk/doc/guides/rel_notes/index.rst
/dpdk/doc/guides/rel_notes/release_22_03.rst
/dpdk/doc/guides/rel_notes/release_22_07.rst
/dpdk/doc/guides/sample_app_ug/l3_forward.rst
/dpdk/drivers/bus/auxiliary/version.map
/dpdk/drivers/bus/pci/pci_common.c
/dpdk/drivers/common/cnxk/roc_nix.h
/dpdk/drivers/common/cnxk/roc_nix_inl.c
/dpdk/drivers/common/cnxk/roc_nix_inl.h
/dpdk/drivers/common/cnxk/roc_nix_inl_dev.c
/dpdk/drivers/common/cnxk/roc_nix_inl_priv.h
/dpdk/drivers/common/cnxk/roc_nix_ptp.c
/dpdk/drivers/common/cnxk/roc_nix_tm.c
/dpdk/drivers/common/cnxk/roc_platform.h
/dpdk/drivers/common/cnxk/version.map
/dpdk/drivers/common/iavf/virtchnl.h
/dpdk/drivers/common/mlx5/linux/mlx5_common_os.c
/dpdk/drivers/common/mlx5/linux/mlx5_common_os.h
/dpdk/drivers/common/mlx5/mlx5_common.c
/dpdk/drivers/common/mlx5/mlx5_common_mr.c
/dpdk/drivers/crypto/ipsec_mb/pmd_aesni_gcm.c
/dpdk/drivers/crypto/ipsec_mb/pmd_aesni_mb.c
/dpdk/drivers/gpu/cuda/cuda.c
/dpdk/drivers/gpu/cuda/devices.h
/dpdk/drivers/gpu/cuda/gdrcopy.c
/dpdk/drivers/net/af_xdp/rte_eth_af_xdp.c
/dpdk/drivers/net/ark/ark_ethdev.c
/dpdk/drivers/net/ark/ark_global.h
/dpdk/drivers/net/bnxt/tf_core/tf_session.c
/dpdk/drivers/net/cnxk/cn10k_rx.h
/dpdk/drivers/net/cnxk/cnxk_ethdev.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_mtr.c
/dpdk/drivers/net/dpaa2/dpaa2_mux.c
/dpdk/drivers/net/i40e/i40e_flow.c
/dpdk/drivers/net/i40e/i40e_rxtx.c
/dpdk/drivers/net/i40e/i40e_rxtx_vec_altivec.c
/dpdk/drivers/net/i40e/i40e_rxtx_vec_avx2.c
/dpdk/drivers/net/i40e/i40e_rxtx_vec_avx512.c
/dpdk/drivers/net/i40e/i40e_rxtx_vec_neon.c
/dpdk/drivers/net/i40e/i40e_rxtx_vec_sse.c
/dpdk/drivers/net/iavf/iavf.h
/dpdk/drivers/net/iavf/iavf_ethdev.c
/dpdk/drivers/net/iavf/iavf_ipsec_crypto.c
/dpdk/drivers/net/iavf/iavf_rxtx.c
/dpdk/drivers/net/iavf/iavf_tm.c
/dpdk/drivers/net/iavf/iavf_vchnl.c
/dpdk/drivers/net/ice/ice_ethdev.c
/dpdk/drivers/net/ice/ice_ethdev.h
/dpdk/drivers/net/ice/ice_fdir_filter.c
/dpdk/drivers/net/ice/ice_generic_flow.c
/dpdk/drivers/net/ice/ice_hash.c
/dpdk/drivers/net/ice/ice_rxtx.c
/dpdk/drivers/net/ice/ice_rxtx_vec_common.h
/dpdk/drivers/net/ixgbe/base/ixgbe_phy.c
/dpdk/drivers/net/kni/rte_eth_kni.c
mlx5_os.c
/dpdk/drivers/net/mlx5/mlx5.c
/dpdk/drivers/net/mlx5/mlx5.h
/dpdk/drivers/net/mlx5/mlx5_devx.c
/dpdk/drivers/net/mlx5/mlx5_ethdev.c
/dpdk/drivers/net/mlx5/mlx5_flow.c
/dpdk/drivers/net/mlx5/mlx5_flow.h
/dpdk/drivers/net/mlx5/mlx5_flow_dv.c
/dpdk/drivers/net/mlx5/mlx5_flow_flex.c
/dpdk/drivers/net/mlx5/mlx5_flow_meter.c
/dpdk/drivers/net/mlx5/mlx5_flow_verbs.c
/dpdk/drivers/net/mlx5/mlx5_rx.h
/dpdk/drivers/net/mlx5/mlx5_rxq.c
/dpdk/drivers/net/mlx5/mlx5_tx.h
/dpdk/drivers/net/mlx5/mlx5_utils.c
/dpdk/drivers/net/netvsc/hn_rxtx.c
/dpdk/drivers/net/qede/qede_rxtx.c
/dpdk/drivers/net/sfc/sfc_flow_tunnel.c
/dpdk/drivers/net/sfc/sfc_mae.c
/dpdk/drivers/net/txgbe/txgbe_ethdev.c
/dpdk/drivers/raw/ifpga/ifpga_rawdev.c
/dpdk/drivers/raw/ifpga/ifpga_rawdev.h
/dpdk/examples/bond/main.c
/dpdk/examples/distributor/main.c
/dpdk/examples/flow_classify/flow_classify.c
/dpdk/examples/kni/main.c
/dpdk/examples/l3fwd/em_default_v4.cfg
/dpdk/examples/l3fwd/em_default_v6.cfg
/dpdk/examples/l3fwd/em_route_parse.c
/dpdk/examples/l3fwd/l3fwd.h
/dpdk/examples/l3fwd/l3fwd_common.h
/dpdk/examples/l3fwd/l3fwd_em.c
/dpdk/examples/l3fwd/l3fwd_event.c
/dpdk/examples/l3fwd/l3fwd_fib.c
/dpdk/examples/l3fwd/l3fwd_lpm.c
/dpdk/examples/l3fwd/l3fwd_route.h
/dpdk/examples/l3fwd/lpm_default_v4.cfg
/dpdk/examples/l3fwd/lpm_default_v6.cfg
/dpdk/examples/l3fwd/lpm_route_parse.c
/dpdk/examples/l3fwd/main.c
/dpdk/examples/multi_process/symmetric_mp/main.c
/dpdk/examples/vhost/main.c
/dpdk/lib/bpf/bpf_impl.h
/dpdk/lib/compressdev/meson.build
/dpdk/lib/compressdev/rte_compressdev_internal.h
/dpdk/lib/cryptodev/rte_crypto.h
/dpdk/lib/eal/common/eal_common_launch.c
/dpdk/lib/eal/common/eal_common_thread.c
/dpdk/lib/eal/common/eal_thread.h
/dpdk/lib/eal/freebsd/eal.c
/dpdk/lib/eal/freebsd/eal_thread.c
/dpdk/lib/eal/freebsd/include/rte_os.h
/dpdk/lib/eal/include/generic/rte_spinlock.h
/dpdk/lib/eal/include/rte_common.h
/dpdk/lib/eal/linux/eal.c
/dpdk/lib/eal/linux/eal_dev.c
/dpdk/lib/eal/linux/eal_thread.c
/dpdk/lib/eal/unix/eal_unix_thread.c
/dpdk/lib/eal/unix/meson.build
/dpdk/lib/eal/windows/eal.c
/dpdk/lib/eal/windows/eal_thread.c
/dpdk/lib/eal/windows/eal_windows.h
/dpdk/lib/eal/windows/include/rte_windows.h
/dpdk/lib/eal/x86/include/rte_atomic_32.h
/dpdk/lib/eal/x86/include/rte_atomic_64.h
/dpdk/lib/ethdev/rte_ethdev.h
/dpdk/lib/eventdev/rte_eventdev.h
/dpdk/lib/gpudev/gpudev.c
/dpdk/lib/gpudev/rte_gpudev.h
/dpdk/lib/gpudev/version.map
/dpdk/lib/graph/node.c
/dpdk/lib/pcapng/rte_pcapng.c
/dpdk/lib/regexdev/rte_regexdev.h
/dpdk/lib/regexdev/rte_regexdev_driver.h
/dpdk/lib/regexdev/version.map
/dpdk/lib/sched/rte_pie.c
/dpdk/lib/vhost/version.map
/dpdk/lib/vhost/vhost_user.c
/dpdk/lib/vhost/vhost_user.h
655c3c2601-Mar-2022 Dmitry Kozlyuk <[email protected]>

net/mlx5: fix initial link status detection

Link status change takes time that depends on the HW and the kernel.
It was checked immediately after the change was issued at probing.
If the port had be

net/mlx5: fix initial link status detection

Link status change takes time that depends on the HW and the kernel.
It was checked immediately after the change was issued at probing.
If the port had been down before probing, a "down" state may be read,
while the port would be "up" imminently.
After that, DPDK reported the port as "down" mistakenly
and "ifconfig $DEV up" did not trigger an LSC event,
because from the system's perspective the port was "up" already.

Install Netlink event handler at port probe before requesting the port
to come up in order to receive LSC event even if it comes up
between probe and start.

Fixes: a85a606ca501 ("net/mlx5: fix link status initialization")
Cc: [email protected]

Signed-off-by: Dmitry Kozlyuk <[email protected]>
Reviewed-by: Viacheslav Ovsiienko <[email protected]>

show more ...

17f9551301-Mar-2022 Dmitry Kozlyuk <[email protected]>

net/mlx5: fix link status change detection

Sometimes net/mlx5 devices did not detect link status change to "up".

Each shared device was monitoring IBV_EVENT_PORT_{ACTIVE,ERR}
and queried the link s

net/mlx5: fix link status change detection

Sometimes net/mlx5 devices did not detect link status change to "up".

Each shared device was monitoring IBV_EVENT_PORT_{ACTIVE,ERR}
and queried the link status upon receiving the event.
IBV_EVENT_PORT_ACTIVE is delivered when the logical link status
(UP flag) is set, but the physical link status (RUNNING flag)
may be down at that time, in which case the new link status
would be erroneously considered down.

IBV interface is insufficient for the task.
Monitor interface events using Netlink.

Fixes: 198a3c339a8f ("mlx5: handle link status interrupts")
Cc: [email protected]

Signed-off-by: Dmitry Kozlyuk <[email protected]>
Reviewed-by: Viacheslav Ovsiienko <[email protected]>

show more ...

be66461c01-Mar-2022 Dmitry Kozlyuk <[email protected]>

common/mlx5: add Netlink event helpers

Introduce mlx5_nl_read_events() to read Netlink events
(technically, messages) from a socket that was configured
to listen for them via a new mlx5_nl_init() pa

common/mlx5: add Netlink event helpers

Introduce mlx5_nl_read_events() to read Netlink events
(technically, messages) from a socket that was configured
to listen for them via a new mlx5_nl_init() parameter.
Add mlx5_nl_parse_link_status_update() helper
to extract information from link-related events.
This patch is a shared base for later fixes.

Cc: [email protected]

Signed-off-by: Dmitry Kozlyuk <[email protected]>
Reviewed-by: Viacheslav Ovsiienko <[email protected]>

show more ...


/dpdk/.ci/linux-build.sh
/dpdk/VERSION
/dpdk/app/test-compress-perf/comp_perf_test_cyclecount.c
/dpdk/app/test-compress-perf/main.c
/dpdk/app/test-crypto-perf/cperf_ops.c
/dpdk/app/test-crypto-perf/cperf_test_latency.c
/dpdk/devtools/test-meson-builds.sh
/dpdk/doc/guides/cryptodevs/features/aesni_mb.ini
/dpdk/doc/guides/cryptodevs/features/armv8.ini
/dpdk/doc/guides/cryptodevs/features/bcmfs.ini
/dpdk/doc/guides/cryptodevs/features/caam_jr.ini
/dpdk/doc/guides/cryptodevs/features/ccp.ini
/dpdk/doc/guides/cryptodevs/features/cn10k.ini
/dpdk/doc/guides/cryptodevs/features/cn9k.ini
/dpdk/doc/guides/cryptodevs/features/null.ini
/dpdk/doc/guides/cryptodevs/features/qat.ini
/dpdk/drivers/common/iavf/virtchnl_inline_ipsec.h
/dpdk/drivers/common/mlx5/linux/mlx5_common_os.c
/dpdk/drivers/common/mlx5/linux/mlx5_nl.c
/dpdk/drivers/common/mlx5/linux/mlx5_nl.h
/dpdk/drivers/common/mlx5/mlx5_prm.h
/dpdk/drivers/common/mlx5/version.map
/dpdk/drivers/common/qat/qat_adf/qat_pke.h
/dpdk/drivers/compress/mlx5/mlx5_compress.c
/dpdk/drivers/crypto/qat/dev/qat_crypto_pmd_gen3.c
/dpdk/drivers/crypto/qat/dev/qat_crypto_pmd_gen4.c
/dpdk/drivers/crypto/qat/dev/qat_sym_pmd_gen1.c
/dpdk/drivers/crypto/qat/qat_asym.c
/dpdk/drivers/crypto/qat/qat_sym.c
/dpdk/drivers/event/cnxk/cnxk_eventdev.h
/dpdk/drivers/event/cnxk/cnxk_eventdev_adptr.c
/dpdk/drivers/event/dlb2/dlb2.c
/dpdk/drivers/net/hns3/hns3_cmd.h
/dpdk/drivers/net/hns3/hns3_ethdev_vf.c
/dpdk/drivers/net/hns3/hns3_rss.c
/dpdk/drivers/net/iavf/iavf_ipsec_crypto.c
/dpdk/drivers/net/iavf/iavf_ipsec_crypto.h
/dpdk/drivers/net/iavf/iavf_rxtx.c
/dpdk/drivers/net/iavf/iavf_rxtx.h
/dpdk/drivers/net/iavf/iavf_rxtx_vec_avx2.c
/dpdk/drivers/net/iavf/iavf_rxtx_vec_avx512.c
/dpdk/drivers/net/iavf/iavf_rxtx_vec_sse.c
/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c
mlx5_os.c
mlx5_vlan_os.c
/dpdk/examples/flow_classify/ipv4_rules_file.txt
/dpdk/lib/compressdev/rte_compressdev_internal.h
68eb9a1925-Feb-2022 Stephen Hemminger <[email protected]>

remove extra blank line at EOF

These source files all had unnecessary blank line at end of file.

Signed-off-by: Stephen Hemminger <[email protected]>


/dpdk/app/test/test_efd.c
/dpdk/doc/guides/gpus/cuda.rst
/dpdk/doc/guides/gpus/features/cuda.ini
/dpdk/doc/guides/gpus/features/default.ini
/dpdk/doc/guides/nics/mlx5.rst
/dpdk/doc/guides/rel_notes/release_22_03.rst
/dpdk/drivers/bus/pci/pci_common.c
/dpdk/drivers/common/iavf/iavf_adminq.c
/dpdk/drivers/common/mlx5/mlx5_common_log.h
/dpdk/drivers/gpu/cuda/common.h
/dpdk/drivers/gpu/cuda/cuda.c
/dpdk/drivers/gpu/cuda/gdrcopy.c
/dpdk/drivers/gpu/cuda/meson.build
/dpdk/drivers/net/cxgbe/smt.h
/dpdk/drivers/net/dpaa2/mc/dpni.c
/dpdk/drivers/net/hinic/hinic_pmd_flow.c
/dpdk/drivers/net/iavf/iavf_generic_flow.c
/dpdk/drivers/net/ionic/ionic_ethdev.h
/dpdk/drivers/net/ionic/ionic_mac_api.c
meson.build
/dpdk/drivers/net/mlx5/mlx5.c
/dpdk/drivers/net/mlx5/mlx5_devx.c
/dpdk/drivers/net/mlx5/mlx5_flow.c
/dpdk/drivers/net/mlx5/mlx5_flow_dv.c
/dpdk/drivers/net/mlx5/mlx5_rx.c
/dpdk/drivers/net/mlx5/mlx5_rx.h
/dpdk/drivers/net/mlx5/mlx5_rxq.c
/dpdk/drivers/net/netvsc/meson.build
/dpdk/drivers/net/nfp/nfp_rxtx.h
/dpdk/drivers/net/ngbe/ngbe_ptypes.c
/dpdk/drivers/net/octeontx_ep/meson.build
/dpdk/drivers/net/octeontx_ep/otx2_ep_vf.h
/dpdk/drivers/net/txgbe/txgbe_flow.c
/dpdk/drivers/net/txgbe/txgbe_ptypes.c
/dpdk/drivers/net/txgbe/txgbe_rxtx.c
/dpdk/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
/dpdk/drivers/regex/cn9k/meson.build
/dpdk/kernel/linux/kni/kni_misc.c
/dpdk/lib/distributor/rte_distributor_single.c
/dpdk/lib/eal/common/eal_common_devargs.c
/dpdk/lib/eal/linux/eal_dev.c
/dpdk/lib/efd/rte_efd.c
/dpdk/lib/ethdev/ethdev_driver.c
/dpdk/lib/ethdev/ethdev_private.c
80f872ee24-Feb-2022 Michael Baum <[email protected]>

net/mlx5: add external Rx queue mapping API

External queue is a queue that has been created and managed outside the
PMD. The queues owner might use PMD to generate flow rules using these
external qu

net/mlx5: add external Rx queue mapping API

External queue is a queue that has been created and managed outside the
PMD. The queues owner might use PMD to generate flow rules using these
external queues.

When the queue is created in hardware it is given an ID represented by
32 bits. In contrast, the index of the queues in PMD is represented by
16 bits. To enable the use of PMD to generate flow rules, the queue
owner must provide a mapping between the HW index and a 16-bit index
corresponding to the ethdev API.

This patch adds an API enabling to insert/cancel a mapping between HW
queue id and ethdev queue id.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

5c4d491725-Feb-2022 Sean Zhang <[email protected]>

net/mlx5: support matching GRE optional fields

This patch adds matching on the optional fields (checksum/key/sequence)
of GRE header. The matching on checksum and sequence fields requests
support fr

net/mlx5: support matching GRE optional fields

This patch adds matching on the optional fields (checksum/key/sequence)
of GRE header. The matching on checksum and sequence fields requests
support from rdma-core with the capability of misc5 and tunnel_header 0-3.

For patterns without checksum and sequence specified, keep using misc for
matching as before, but for patterns with checksum or sequence, validate
capability first and then use misc5 for the matching.

Signed-off-by: Sean Zhang <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...


/dpdk/app/test-pmd/cmdline.c
/dpdk/app/test-pmd/cmdline_flow.c
/dpdk/doc/guides/nics/cnxk.rst
/dpdk/doc/guides/nics/features/default.ini
/dpdk/doc/guides/nics/features/mlx5.ini
/dpdk/doc/guides/nics/mlx5.rst
/dpdk/doc/guides/rel_notes/release_22_03.rst
/dpdk/drivers/common/cnxk/cnxk_security.c
/dpdk/drivers/common/cnxk/meson.build
/dpdk/drivers/common/cnxk/roc_idev.c
/dpdk/drivers/common/cnxk/roc_idev.h
/dpdk/drivers/common/cnxk/roc_ie_ot.h
/dpdk/drivers/common/cnxk/roc_model.c
/dpdk/drivers/common/cnxk/roc_model.h
/dpdk/drivers/common/cnxk/roc_nix.h
/dpdk/drivers/common/cnxk/roc_nix_inl.c
/dpdk/drivers/common/cnxk/roc_nix_inl.h
/dpdk/drivers/common/cnxk/roc_nix_inl_dev.c
/dpdk/drivers/common/cnxk/roc_nix_inl_dev_irq.c
/dpdk/drivers/common/cnxk/roc_nix_inl_priv.h
/dpdk/drivers/common/cnxk/roc_nix_priv.h
/dpdk/drivers/common/cnxk/roc_nix_tm.c
/dpdk/drivers/common/cnxk/roc_nix_tm_mark.c
/dpdk/drivers/common/cnxk/roc_nix_tm_ops.c
/dpdk/drivers/common/cnxk/roc_platform.h
/dpdk/drivers/common/cnxk/version.map
/dpdk/drivers/common/mlx5/mlx5_devx_cmds.c
/dpdk/drivers/event/cnxk/cn10k_worker.h
/dpdk/drivers/event/cnxk/cn9k_worker.h
/dpdk/drivers/event/cnxk/cnxk_eventdev_adptr.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_0_15_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_112_127_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_16_31_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_32_47_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_48_63_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_64_79_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_80_95_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_ca_tmo_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_dual.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_seg_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_burst.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg.c
/dpdk/drivers/event/cnxk/deq/cn10k/deq_96_111_tmo_seg_burst.c
/dpdk/drivers/net/cnxk/cn10k_ethdev.c
/dpdk/drivers/net/cnxk/cn10k_ethdev.h
/dpdk/drivers/net/cnxk/cn10k_ethdev_sec.c
/dpdk/drivers/net/cnxk/cn10k_rx.h
/dpdk/drivers/net/cnxk/cn10k_rx_select.c
/dpdk/drivers/net/cnxk/cn10k_tx.h
/dpdk/drivers/net/cnxk/cn10k_tx_select.c
/dpdk/drivers/net/cnxk/cn9k_ethdev.c
/dpdk/drivers/net/cnxk/cn9k_ethdev.h
/dpdk/drivers/net/cnxk/cn9k_tx.h
/dpdk/drivers/net/cnxk/cn9k_tx_select.c
/dpdk/drivers/net/cnxk/cnxk_ethdev.c
/dpdk/drivers/net/cnxk/cnxk_ethdev.h
/dpdk/drivers/net/cnxk/cnxk_ethdev_devargs.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_ops.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_sec.c
/dpdk/drivers/net/cnxk/cnxk_tm.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_0_15.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_112_127.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_16_31.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_32_47.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_48_63.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_64_79.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_80_95.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_96_111.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
/dpdk/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c
/dpdk/drivers/net/i40e/i40e_pf.c
/dpdk/drivers/net/ice/base/ice_common.c
/dpdk/drivers/net/ice/base/ice_devids.h
/dpdk/drivers/net/ice/ice_ethdev.c
mlx5_os.c
/dpdk/drivers/net/mlx5/mlx5.h
/dpdk/drivers/net/mlx5/mlx5_flow.c
/dpdk/drivers/net/mlx5/mlx5_flow.h
/dpdk/drivers/net/mlx5/mlx5_flow_dv.c
/dpdk/drivers/net/mlx5/mlx5_flow_hw.c
3a2f674b24-Feb-2022 Suanming Mou <[email protected]>

net/mlx5: add queue and RSS HW steering action

This commit adds the queue and RSS action. Similar to the jump action,
dynamic ones will be added to the action construct list.

Due to the queue and R

net/mlx5: add queue and RSS HW steering action

This commit adds the queue and RSS action. Similar to the jump action,
dynamic ones will be added to the action construct list.

Due to the queue and RSS action in template should not be destroyed
during port restart, the actions are created with standalone indirect
table as indirect action does. When port stops, detaches the indirect
table from action, when port starts, attaches the indirect table back
to the action.

One more change is made to accelerate the action creation. Currently
the mlx5_hrxq_get() function returns the object index instead of object
pointer. This introduced an extra converting the index to the object by
calling mlx5_ipool_get() in most of the case. And that extra converting
hurts multi-thread performance since mlx5_ipool_get() uses the global
lock inside. As the hash Rx queue object itself also contains the index,
returns the object directly will achieve better performance without the
global lock.

Signed-off-by: Suanming Mou <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...

d84c3cf724-Feb-2022 Suanming Mou <[email protected]>

net/mlx5: introduce hardware steering enable routine

The new hardware steering engine relies on using dedicated steering WQEs
instead of writing to the low-level steering table entries directly.
In

net/mlx5: introduce hardware steering enable routine

The new hardware steering engine relies on using dedicated steering WQEs
instead of writing to the low-level steering table entries directly.
In the first implementation the hardware steering engine supports the
new queue based Flow API, the existing synchronous non-queue based Flow
API is not supported.

A new dv_flow_en value 2 is added to manage mlx5 PMD steering engine:

dv_flow_en rte_flow API rte_flow_async API
------------------------------------------------
0 support not support
1 support not support
2 not support support

This commit introduces the extra dv_flow_en = 2 to specify the new
flow initialize and manage operation routine.

Signed-off-by: Suanming Mou <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...

2b67915024-Feb-2022 Suanming Mou <[email protected]>

net/mlx5: introduce hardware steering operation

The Connect-X steering is a lookup hardware mechanism that accesses flow
tables, matches packets to the rules, and performs specified actions.
Histori

net/mlx5: introduce hardware steering operation

The Connect-X steering is a lookup hardware mechanism that accesses flow
tables, matches packets to the rules, and performs specified actions.
Historically, mlx5 PMD implements several software engines to manage
steering hardware facility:

- FW Steering - Verbs/Direct Verbs, uses FW calls to manage flows
- SW Steering - DevX/mlx5dv, uses WQEs to access table memory directly

However, there are still some disadvantages:

- performance is limited, we should invoke firmware either to
manage the entire flow, or to handle some internal steering objects

- organizing and preparing flow infrastructure (actions, matchers,
groups, etc.) on the flow inserting is sure to cause slow flow
insertion

- security, exposing the low-level steering entries directly to the
userspace may cause security risks

A new hardware WQE based steering operation with codename "HW Steering"
is going to be introduced to get rid of the security risks. And it will
take advantage of the recently new introduced async queue-based rte_flow
APIs to prepare everything in advance to achieve high insertion rate.

In this new HW steering engine, the original SW steering rte_flow API
will not be supported in the first implementation, only the new async
queue-based flow operations is going to be supported. A new steering
mode parameter for dv_flow_en will be introduced and user will be
able to engage the new steering engine.

This commit adds the basic driver operation.

Signed-off-by: Suanming Mou <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...

2f5122df24-Feb-2022 Viacheslav Ovsiienko <[email protected]>

net/mlx5: configure Tx queue with send on time offload

The wait on time configuration flag is copied to the Tx queue
structure due to performance considerations. Timestamp
mask is prepared and store

net/mlx5: configure Tx queue with send on time offload

The wait on time configuration flag is copied to the Tx queue
structure due to performance considerations. Timestamp
mask is prepared and stored in queue structure as well.

Signed-off-by: Viacheslav Ovsiienko <[email protected]>

show more ...


/dpdk/app/test-pmd/cmdline_flow.c
/dpdk/app/test-pmd/config.c
/dpdk/app/test-pmd/testpmd.h
/dpdk/doc/guides/nics/cnxk.rst
/dpdk/doc/guides/prog_guide/img/rte_flow_async_init.svg
/dpdk/doc/guides/prog_guide/img/rte_flow_async_usage.svg
/dpdk/doc/guides/prog_guide/rte_flow.rst
/dpdk/doc/guides/rel_notes/release_22_03.rst
/dpdk/doc/guides/testpmd_app_ug/testpmd_funcs.rst
/dpdk/drivers/common/cnxk/cnxk_security.c
/dpdk/drivers/common/cnxk/cnxk_security.h
/dpdk/drivers/common/cnxk/meson.build
/dpdk/drivers/common/cnxk/roc_ie_ot.c
/dpdk/drivers/common/cnxk/roc_ie_ot.h
/dpdk/drivers/common/cnxk/roc_mbox.h
/dpdk/drivers/common/cnxk/roc_nix.h
/dpdk/drivers/common/cnxk/roc_nix_fc.c
/dpdk/drivers/common/cnxk/roc_nix_inl.c
/dpdk/drivers/common/cnxk/roc_nix_inl.h
/dpdk/drivers/common/cnxk/roc_nix_inl_dev.c
/dpdk/drivers/common/cnxk/roc_nix_inl_dev_irq.c
/dpdk/drivers/common/cnxk/roc_nix_inl_priv.h
/dpdk/drivers/common/cnxk/roc_nix_priv.h
/dpdk/drivers/common/cnxk/roc_nix_queue.c
/dpdk/drivers/common/cnxk/roc_nix_tm.c
/dpdk/drivers/common/cnxk/roc_nix_tm_ops.c
/dpdk/drivers/common/cnxk/roc_nix_tm_utils.c
/dpdk/drivers/common/cnxk/roc_npa.c
/dpdk/drivers/common/cnxk/roc_npa.h
/dpdk/drivers/common/cnxk/roc_npc.c
/dpdk/drivers/common/cnxk/roc_npc.h
/dpdk/drivers/common/cnxk/roc_npc_priv.h
/dpdk/drivers/common/cnxk/roc_platform.h
/dpdk/drivers/common/cnxk/version.map
/dpdk/drivers/common/mlx5/mlx5_devx_cmds.c
/dpdk/drivers/common/mlx5/mlx5_devx_cmds.h
/dpdk/drivers/common/mlx5/mlx5_prm.h
/dpdk/drivers/crypto/cnxk/cn10k_ipsec.c
/dpdk/drivers/event/cnxk/cn10k_worker.h
/dpdk/drivers/mempool/cnxk/cn10k_mempool_ops.c
/dpdk/drivers/net/cnxk/cn10k_ethdev.c
/dpdk/drivers/net/cnxk/cn10k_ethdev.h
/dpdk/drivers/net/cnxk/cn10k_ethdev_sec.c
/dpdk/drivers/net/cnxk/cn10k_flow.c
/dpdk/drivers/net/cnxk/cn10k_rx.h
/dpdk/drivers/net/cnxk/cn9k_ethdev.c
/dpdk/drivers/net/cnxk/cn9k_ethdev_sec.c
/dpdk/drivers/net/cnxk/cn9k_flow.c
/dpdk/drivers/net/cnxk/cnxk_ethdev.c
/dpdk/drivers/net/cnxk/cnxk_ethdev.h
/dpdk/drivers/net/cnxk/cnxk_ethdev_devargs.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_mtr.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_ops.c
/dpdk/drivers/net/cnxk/cnxk_ethdev_sec.c
/dpdk/drivers/net/cnxk/cnxk_lookup.c
mlx5_verbs.c
/dpdk/drivers/net/mlx5/mlx5.h
/dpdk/drivers/net/mlx5/mlx5_devx.c
/dpdk/drivers/net/mlx5/mlx5_tx.h
/dpdk/drivers/net/mlx5/mlx5_txq.c
/dpdk/lib/ethdev/ethdev_driver.h
/dpdk/lib/ethdev/rte_flow.c
/dpdk/lib/ethdev/rte_flow.h
/dpdk/lib/ethdev/rte_flow_driver.h
/dpdk/lib/ethdev/version.map
a6b9d5a523-Feb-2022 Michael Baum <[email protected]>

common/mlx5: update doorbell mapping parameter name

The "tx_db_nc" devarg forces doorbell register mapping to non-cached
region eliminating the extra write memory barrier. This argument was
used in

common/mlx5: update doorbell mapping parameter name

The "tx_db_nc" devarg forces doorbell register mapping to non-cached
region eliminating the extra write memory barrier. This argument was
used in creating the UAR for Tx and thus affected its performance.

Recently [1] its use has been extended to all UAR creation in all mlx5
drivers, and now its name is no longer so accurate.

This patch changes its name to "sq_db_nc" to suit any send queue that
uses it. The old name will still work for backward compatibility.

[1] commit 5dfa003db53f ("common/mlx5: fix post doorbell barrier")

Signed-off-by: Michael Baum <[email protected]>
Reviewed-by: Raslan Darawsheh <[email protected]>
Acked-by: Viacheslav Ovsiienko <[email protected]>

show more ...


/dpdk/app/test-pmd/csumonly.c
/dpdk/doc/guides/compressdevs/mlx5.rst
/dpdk/doc/guides/cryptodevs/mlx5.rst
/dpdk/doc/guides/nics/af_xdp.rst
/dpdk/doc/guides/nics/ena.rst
/dpdk/doc/guides/nics/features/ena.ini
/dpdk/doc/guides/nics/mlx4.rst
/dpdk/doc/guides/nics/mlx5.rst
/dpdk/doc/guides/platform/index.rst
/dpdk/doc/guides/platform/mlx5.rst
/dpdk/doc/guides/regexdevs/mlx5.rst
/dpdk/doc/guides/rel_notes/release_22_03.rst
/dpdk/doc/guides/vdpadevs/mlx5.rst
/dpdk/drivers/common/mlx5/linux/mlx5_common_os.c
/dpdk/drivers/common/mlx5/mlx5_common.c
/dpdk/drivers/common/mlx5/mlx5_common_defs.h
/dpdk/drivers/common/mlx5/mlx5_devx_cmds.c
/dpdk/drivers/common/mlx5/mlx5_devx_cmds.h
/dpdk/drivers/common/mlx5/mlx5_prm.h
/dpdk/drivers/net/ena/base/ena_plat_dpdk.h
/dpdk/drivers/net/ena/ena_ethdev.c
/dpdk/drivers/net/ena/ena_ethdev.h
/dpdk/drivers/net/ena/ena_rss.c
mlx5_verbs.c
/dpdk/drivers/net/mlx5/mlx5.h
/dpdk/drivers/net/mlx5/mlx5_devx.c
/dpdk/drivers/net/mlx5/mlx5_flow.c
/dpdk/drivers/net/mlx5/mlx5_flow.h
/dpdk/drivers/net/mlx5/mlx5_flow_dv.c
/dpdk/drivers/net/mlx5/mlx5_flow_meter.c
/dpdk/drivers/net/mlx5/mlx5_rx.h
/dpdk/drivers/net/mlx5/mlx5_rxq.c
/dpdk/drivers/net/mlx5/mlx5_utils.c
/dpdk/drivers/net/mlx5/mlx5_utils.h
/dpdk/drivers/net/ngbe/base/ngbe_eeprom.c
/dpdk/drivers/net/ngbe/base/ngbe_hw.c
/dpdk/drivers/net/ngbe/base/ngbe_mbx.c
/dpdk/drivers/net/ngbe/base/ngbe_mng.c
/dpdk/drivers/net/ngbe/base/ngbe_phy.c
/dpdk/drivers/net/ngbe/base/ngbe_phy_mvl.c
/dpdk/drivers/net/ngbe/base/ngbe_phy_rtl.c
/dpdk/drivers/net/ngbe/base/ngbe_phy_yt.c
/dpdk/drivers/net/ngbe/ngbe_logs.h
/dpdk/drivers/net/txgbe/base/meson.build
/dpdk/drivers/net/txgbe/base/txgbe_eeprom.c
/dpdk/drivers/net/txgbe/base/txgbe_hw.c
/dpdk/drivers/net/txgbe/base/txgbe_mbx.c
/dpdk/drivers/net/txgbe/base/txgbe_mng.c
/dpdk/drivers/net/txgbe/base/txgbe_osdep.h
/dpdk/drivers/net/txgbe/base/txgbe_phy.c
/dpdk/drivers/net/txgbe/base/txgbe_vf.c
/dpdk/drivers/net/txgbe/txgbe_logs.h
a729d2f014-Feb-2022 Michael Baum <[email protected]>

common/mlx5: refactor devargs management

Improve the devargs handling in two aspects:
- Parse the devargs string only once.
- Return error and report for unknown keys.

The common driver parses on

common/mlx5: refactor devargs management

Improve the devargs handling in two aspects:
- Parse the devargs string only once.
- Return error and report for unknown keys.

The common driver parses once the devargs string into a dictionary, then
provides it to all the drivers' probe. Each driver updates within it
which keys it has used, then common driver receives the updated
dictionary and reports about unknown devargs.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

45a6df8014-Feb-2022 Michael Baum <[email protected]>

net/mlx5: separate per port configuration

Add configuration structure for port (ethdev). This structure contains
all configurations coming from devargs which oriented to port. It is a
field of mlx5_

net/mlx5: separate per port configuration

Add configuration structure for port (ethdev). This structure contains
all configurations coming from devargs which oriented to port. It is a
field of mlx5_priv structure, and is updated in spawn function for each
port.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

c4b8620114-Feb-2022 Michael Baum <[email protected]>

net/mlx5: refactor to detect operation by DevX

Add inline function indicating whether HW objects operations can be
created by DevX. It makes the code more readable.

Signed-off-by: Michael Baum <mic

net/mlx5: refactor to detect operation by DevX

Add inline function indicating whether HW objects operations can be
created by DevX. It makes the code more readable.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

a13ec19c14-Feb-2022 Michael Baum <[email protected]>

net/mlx5: add shared device context config structure

Add configuration structure for shared device context. This structure
contains all configurations coming from devargs which oriented to
device. I

net/mlx5: add shared device context config structure

Add configuration structure for shared device context. This structure
contains all configurations coming from devargs which oriented to
device. It is a field of shared device context (SH) structure, and is
updated once in mlx5_alloc_shared_dev_ctx() function.
This structure cannot be changed when probing again, so add function to
prevent it. The mlx5_probe_again_args_validate() function creates a
temporary IB context configure structure according to new devargs
attached in probing again, then checks the match between the temporary
structure and the existing IB context configure structure.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

87af0d1e14-Feb-2022 Michael Baum <[email protected]>

net/mlx5: concentrate all device configurations

Move all device configure to be performed by mlx5_os_cap_config()
function instead of the spawn function.
In addition move all relevant fields from ml

net/mlx5: concentrate all device configurations

Move all device configure to be performed by mlx5_os_cap_config()
function instead of the spawn function.
In addition move all relevant fields from mlx5_dev_config structure to
mlx5_dev_cap.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

91d1cfaf14-Feb-2022 Michael Baum <[email protected]>

net/mlx5: rearrange device attribute structure

Rearrange the mlx5_os_get_dev_attr() function in such a way that it
first executes the queries and only then updates the fields.
In addition, it change

net/mlx5: rearrange device attribute structure

Rearrange the mlx5_os_get_dev_attr() function in such a way that it
first executes the queries and only then updates the fields.
In addition, it changed its name in preparation for expanding its
operations to configure the capabilities inside it.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

cf004fd314-Feb-2022 Michael Baum <[email protected]>

net/mlx5: add E-Switch mode flag

This patch adds in SH structure a flag which indicates whether is
E-Switch mode.
When configure "dv_esw_en" from devargs, it is enabled only when is
E-switch mode. S

net/mlx5: add E-Switch mode flag

This patch adds in SH structure a flag which indicates whether is
E-Switch mode.
When configure "dv_esw_en" from devargs, it is enabled only when is
E-switch mode. So, since dv_esw_en has been configure, it is enough to
check if "dv_esw_en" is valid.
This patch also removes E-Switch mode check when "dv_esw_en" is checked
too.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

cf8971db14-Feb-2022 Michael Baum <[email protected]>

net/mlx5: share counter config function

The mlx5_flow_counter_mode_config function exists for both Linux and
Windows with the same name and content.
This patch moves its implementation to the folder

net/mlx5: share counter config function

The mlx5_flow_counter_mode_config function exists for both Linux and
Windows with the same name and content.
This patch moves its implementation to the folder shared between the
operating systems, removing the duplication.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

e3032e9c14-Feb-2022 Michael Baum <[email protected]>

net/mlx5: share realtime timestamp configure

The realtime timestamp configure work for Linux as same as Windows.
This patch removes it to the function implemented in the folder shared
between the op

net/mlx5: share realtime timestamp configure

The realtime timestamp configure work for Linux as same as Windows.
This patch removes it to the function implemented in the folder shared
between the operating systems, removing the duplication.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

c4c3e8af14-Feb-2022 Michael Baum <[email protected]>

common/mlx5: share VF check function

The check if device is VF work for Linux as same as Windows.
This patch removes it to the function implemented in the folder shared
between the operating systems

common/mlx5: share VF check function

The check if device is VF work for Linux as same as Windows.
This patch removes it to the function implemented in the folder shared
between the operating systems, removing the duplication.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

8f46481014-Feb-2022 Michael Baum <[email protected]>

net/mlx5: remove Verbs query device duplication

The sharing device context structure has a field named "device_attr"
which is filled by mlx5_os_get_dev_attr() function.
The spawn function calls mlx5

net/mlx5: remove Verbs query device duplication

The sharing device context structure has a field named "device_attr"
which is filled by mlx5_os_get_dev_attr() function.
The spawn function calls mlx5_os_get_dev_attr() again and save it to
local variable identical to "device_attr" field.

There is no need for this duplication, because there is a reference to
the sharing device context structure from spawn function.

This patch removes the local "device_attr" from spawn function, and uses
the context's field instead.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

6dc0cbc614-Feb-2022 Michael Baum <[email protected]>

net/mlx5: remove DevX flag duplication

The sharing device context structure has a field named "devx" which
indicates if DevX is supported.
The common configure structure has also field named "devx"

net/mlx5: remove DevX flag duplication

The sharing device context structure has a field named "devx" which
indicates if DevX is supported.
The common configure structure has also field named "devx" with the same
meaning.

There is no need for this duplication, because there is a reference to
the common structure from within the sharing device context structure.

This patch removes it from sharing device context structure and uses the
common config structure instead.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

5382056114-Feb-2022 Michael Baum <[email protected]>

net/mlx5: remove HCA attribute structure duplication

The HCA attribute structure is field of net configure structure.
It is also field of common configure structure.

There is no need for this dupli

net/mlx5: remove HCA attribute structure duplication

The HCA attribute structure is field of net configure structure.
It is also field of common configure structure.

There is no need for this duplication, because there is a reference to
the common structure from within the net structures.

This patch removes it from net configure structure and uses the common
config structure instead.

Signed-off-by: Michael Baum <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...

1234567891011