History log of /dpdk/drivers/net/mlx5/linux/mlx5_ethdev_os.c (Results 1 – 25 of 26)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v22.03, v22.03-rc4, v22.03-rc3
# 17f95513 01-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 ...


Revision tags: v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2
# e8482187 05-Nov-2021 Bing Zhao <[email protected]>

net/mlx5: check delay drop settings in kernel driver

The delay drop is the common feature managed on per device basis
and the kernel driver is responsible one for the initialization and
rearming.

B

net/mlx5: check delay drop settings in kernel driver

The delay drop is the common feature managed on per device basis
and the kernel driver is responsible one for the initialization and
rearming.

By default, the timeout value is set to activate the delay drop when
the driver is loaded.

A private flag "dropless_rq" is used to control the rearming. Only
when it is on, the rearming will be handled once received a timeout
event. Or else, the delay drop will be deactivated after the first
timeout occurs and all the Rx queues won't have this feature.

The PMD is trying to query this flag and warn the application when
some queues are created with delay drop but the flag is off.

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

show more ...


Revision tags: v21.11-rc1
# 295968d1 22-Oct-2021 Ferruh Yigit <[email protected]>

ethdev: add namespace

Add 'RTE_ETH' namespace to all enums & macros in a backward compatible
way. The macros for backward compatibility can be removed in next LTS.
Also updated some struct names to

ethdev: add namespace

Add 'RTE_ETH' namespace to all enums & macros in a backward compatible
way. The macros for backward compatibility can be removed in next LTS.
Also updated some struct names to have 'rte_eth' prefix.

All internal components switched to using new names.

Syntax fixed on lines that this patch touches.

Signed-off-by: Ferruh Yigit <[email protected]>
Acked-by: Tyler Retzlaff <[email protected]>
Acked-by: Andrew Rybchenko <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>
Acked-by: Jerin Jacob <[email protected]>
Acked-by: Wisam Jaddo <[email protected]>
Acked-by: Rosen Xu <[email protected]>
Acked-by: Chenbo Xia <[email protected]>
Acked-by: Hemant Agrawal <[email protected]>
Acked-by: Somnath Kotur <[email protected]>

show more ...


# ca1418ce 19-Oct-2021 Michael Baum <[email protected]>

common/mlx5: share device context object

Create shared context device in common area and add it as a field of
common device.
Use this context device in all drivers and remove the ctx field from
thei

common/mlx5: share device context object

Create shared context device in common area and add it as a field of
common device.
Use this context device in all drivers and remove the ctx field from
their private structure.

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

show more ...


Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2
# 919488fb 21-Jul-2021 Xueming Li <[email protected]>

net/mlx5: support Sub-Function

Introduce SF support.
Similar to VF, SF on auxiliary bus is a portion of hardware PF,
no representor or bonding parameters for SF.

Devargs to support SF:
-a auxiliary

net/mlx5: support Sub-Function

Introduce SF support.
Similar to VF, SF on auxiliary bus is a portion of hardware PF,
no representor or bonding parameters for SF.

Devargs to support SF:
-a auxiliary:mlx5_core.sf.8,dv_flow_en=1

New global syntax to support SF:
-a bus=auxiliary,name=mlx5_core.sf.8/class=eth/driver=mlx5,dv_flow_en=1

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

show more ...


# 56bb3c84 21-Jul-2021 Xueming Li <[email protected]>

net/mlx5: reduce PCI dependency

To support more bus types, remove PCI dependency where possible.

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

net/mlx5: reduce PCI dependency

To support more bus types, remove PCI dependency where possible.

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

show more ...


Revision tags: v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1
# e2bd08d5 02-Apr-2021 Chengchang Tang <[email protected]>

ethdev: validate input in module EEPROM dump

The validity verification of input parameters should be performed at
API layer, not in the PMD.

Fixes: 3a18c44b45df ("ethdev: add access to EEPROM")
Fix

ethdev: validate input in module EEPROM dump

The validity verification of input parameters should be performed at
API layer, not in the PMD.

Fixes: 3a18c44b45df ("ethdev: add access to EEPROM")
Fixes: 40ff8b305ab8 ("net/e1000: add module EEPROM callbacks for e1000")
Fixes: f2088e785cca ("net/i40e: fix dereference before check when getting EEPROM")
Fixes: b74d0cd43e37 ("net/ixgbe: add module EEPROM callbacks for ixgbe")
Fixes: 8a6a09f853a0 ("net/mlx5: support reading module EEPROM data")
Fixes: 58f6f93c34c1 ("net/octeontx2: add module EEPROM dump")
Cc: [email protected]

Signed-off-by: Chengchang Tang <[email protected]>
Signed-off-by: Min Hu (Connor) <[email protected]>
Reviewed-by: Ferruh Yigit <[email protected]>

show more ...


# 058ac0dd 29-Mar-2021 Thomas Monjalon <[email protected]>

drivers/net: remove useless autoneg capability

The flag ETH_LINK_SPEED_AUTONEG is 0,
so it cannot be used in a capability bitmap.

Having 0 in speed capability means all speeds are accepted.

Signed

drivers/net: remove useless autoneg capability

The flag ETH_LINK_SPEED_AUTONEG is 0,
so it cannot be used in a capability bitmap.

Having 0 in speed capability means all speeds are accepted.

Signed-off-by: Thomas Monjalon <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>
Reviewed-by: Ferruh Yigit <[email protected]>

show more ...


# 7ed15acd 28-Mar-2021 Xueming Li <[email protected]>

net/mlx5: improve xstats of bonding port

In case of kernel bonding device, counter was read from first bonding PF
member.

This patch reads all member PFs and sums to get bond xstats.

Signed-off-by

net/mlx5: improve xstats of bonding port

In case of kernel bonding device, counter was read from first bonding PF
member.

This patch reads all member PFs and sums to get bond xstats.

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

show more ...


# f5f4c482 28-Mar-2021 Xueming Li <[email protected]>

net/mlx5: save bonding member ports information

Since kernel bonding netdev doesn't provide statistics counter that
reflects all member ports, PMD has to manually summarize counters from
each member

net/mlx5: save bonding member ports information

Since kernel bonding netdev doesn't provide statistics counter that
reflects all member ports, PMD has to manually summarize counters from
each member ports.

As a preparation, this patch collects bonding member port information
and saves to shared context data.

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

show more ...


# cb95feef 28-Mar-2021 Xueming Li <[email protected]>

net/mlx5: support sub-function representor

This patch adds support for SF representor. Similar to VF representor,
switch port name of SF representor in phys_port_name sysfs key is
"pf<x>sf<y>".

Dev

net/mlx5: support sub-function representor

This patch adds support for SF representor. Similar to VF representor,
switch port name of SF representor in phys_port_name sysfs key is
"pf<x>sf<y>".

Device representor argument is "representors=sf[list]", list member
could be mix of instance and range. Example:
representors=sf[0,2,4,8-12,-1]

To probe VF representor and SF representor, need to separate into 2
devices:
-a <BDF>,representor=vf[list] -a <BDF>,representor=sf[list]

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

show more ...


# 59df97f1 28-Mar-2021 Xueming Li <[email protected]>

common/mlx5: support sub-function representor parsing

This patch supports representor name parsing for SF.
In sysfs, representor name stored under "phys_port_name" sysfs key,
similar to VF represent

common/mlx5: support sub-function representor parsing

This patch supports representor name parsing for SF.
In sysfs, representor name stored under "phys_port_name" sysfs key,
similar to VF representor, switch port name of SF representor is
"pf<x>sf<y>".

For netlink message, net SF type is supported.

Examples:

pf0sf1
pf0sf[0-3]

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

show more ...


Revision tags: v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2
# df96fd0d 29-Jan-2021 Bruce Richardson <[email protected]>

ethdev: make driver-only headers private

The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are
for drivers only and should be a private to DPDK and not installed.

Signed-off-by:

ethdev: make driver-only headers private

The rte_ethdev_driver.h, rte_ethdev_vdev.h and rte_ethdev_pci.h files are
for drivers only and should be a private to DPDK and not installed.

Signed-off-by: Bruce Richardson <[email protected]>
Reviewed-by: Maxime Coquelin <[email protected]>
Acked-by: Thomas Monjalon <[email protected]>
Acked-by: Steven Webster <[email protected]>

show more ...


Revision tags: v21.02-rc1
# 28743807 28-Dec-2020 Tal Shnaiderman <[email protected]>

net/mlx5: fix device name size on Windows

Windows Devx interface name is the same as device name with
different size then IF_NAMESIZE. To support it MLX5_NAMESIZE
is defined with IF_NAMESIZE value f

net/mlx5: fix device name size on Windows

Windows Devx interface name is the same as device name with
different size then IF_NAMESIZE. To support it MLX5_NAMESIZE
is defined with IF_NAMESIZE value for Linux and MLX5_FS_NAME_MAX
value for Windows.

Fixes: e9c0b96e3526 ("net/mlx5: move Linux ifname function")
Cc: [email protected]

Signed-off-by: Tal Shnaiderman <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


Revision tags: v20.11, v20.11-rc5
# 1101809b 19-Nov-2020 Viacheslav Ovsiienko <[email protected]>

net/mlx5: make ethernet xstats names compliant

xstats names for simple stats are mostly standardized in ethdev drivers
and should be compliant with [1]

[1] http://doc.dpdk.org/guides/prog_guide/pol

net/mlx5: make ethernet xstats names compliant

xstats names for simple stats are mostly standardized in ethdev drivers
and should be compliant with [1]

[1] http://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html?highlight=xstats#extended-statistics-api

Bugzilla ID: 558

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

show more ...


# 1688c580 22-Nov-2020 Benoît Ganne <[email protected]>

net/mlx5: allow unknown link speed

mlx5 PMD refuses to update link state if link speed is defined but
status is down or if link speed is undefined but status is up, even if
the ioctl() succeeded.
Th

net/mlx5: allow unknown link speed

mlx5 PMD refuses to update link state if link speed is defined but
status is down or if link speed is undefined but status is up, even if
the ioctl() succeeded.
This prevents application to detect link up/down event, especially when
the link speed is not correctly detected.

Commit [1] allowed returning unknown link speed, so now PMD allows
the return of unknown link speed in the above case.

Due to some old kernel driver bug, link speed wasn't detected properly.

[1] http://git.dpdk.org/dpdk/commit/?id=810b17d116f03

Signed-off-by: Benoît Ganne <[email protected]>
Signed-off-by: Raslan Darawsheh <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


Revision tags: v20.11-rc4, v20.11-rc3, v20.11-rc2
# b5c8b3e7 27-Oct-2020 Alexander Kozyrev <[email protected]>

net/mlx5: use C11 atomics for RxQ/TxQ refcounts

The rte_atomic API is deprecated and needs to be replaced with
C11 atomic builtins. Use the relaxed ordering for RxQ/TxQ refcounts.

Signed-off-by: Al

net/mlx5: use C11 atomics for RxQ/TxQ refcounts

The rte_atomic API is deprecated and needs to be replaced with
C11 atomic builtins. Use the relaxed ordering for RxQ/TxQ refcounts.

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

show more ...


Revision tags: v20.11-rc1
# c21e5fac 15-Sep-2020 Xueming Li <[email protected]>

net/mlx5: use bond index for netdev operations

In case of bonding, device ifindex was detected as the PF ifindex, so
any operation using ifindex applied to PF instead of the bond device.
These opera

net/mlx5: use bond index for netdev operations

In case of bonding, device ifindex was detected as the PF ifindex, so
any operation using ifindex applied to PF instead of the bond device.
These operations includes MTU get/set, up/down and mac address
manipulation, etc.

This patch detects bond interface ifindex and name for PF that join a
bond interface, uses it by default for netdev operations.

Cc: [email protected]

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

show more ...


# 5723fbed 09-Sep-2020 Ferruh Yigit <[email protected]>

ethdev: remove underscore prefix from internal API

'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs
has unconventional underscore ('_') prefix.
Although this is not documente

ethdev: remove underscore prefix from internal API

'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs
has unconventional underscore ('_') prefix.
Although this is not documented most probably this is to mark them as
internal. Since we have '__rte_internal' flag to mark this, removing '_'
from API names.

For '_rte_eth_dev_reset()', there is already a public API named
'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to
'rte_eth_dev_internal_reset'.

Signed-off-by: Ferruh Yigit <[email protected]>
Acked-by: Andrew Rybchenko <[email protected]>
Acked-by: David Marchand <[email protected]>
Acked-by: Sachin Saxena <[email protected]>

show more ...


Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2
# 63d1db71 21-Jul-2020 Michael Baum <[email protected]>

net/mlx5: fix unlimited parsing of switch info

In mlx5_sysfs_switch_info function, the driver gets switch information
associated with network interface.

The driver writes the port name into buffer

net/mlx5: fix unlimited parsing of switch info

In mlx5_sysfs_switch_info function, the driver gets switch information
associated with network interface.

The driver writes the port name into buffer and translates it.
However, when it writes the name, it does not limit writing to the
buffer size.

Limit writing to the size of the buffer.

Fixes: 1256805dd54d ("net/mlx5: move Linux-specific functions")
Cc: [email protected]

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

show more ...


# ef9ee13f 19-Jul-2020 Ophir Munk <[email protected]>

net/mlx5: cleanup header file

The cleanup refers to header file mlx5.h.
1. Remove unused prototypes.
2. Move prototypes under their correct title.
3. Change functions to static and remove their prot

net/mlx5: cleanup header file

The cleanup refers to header file mlx5.h.
1. Remove unused prototypes.
2. Move prototypes under their correct title.
3. Change functions to static and remove their prototye from the header
file.

Signed-off-by: Ophir Munk <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


# 98c4b12a 19-Jul-2020 Ophir Munk <[email protected]>

net/mlx5: eliminate dependency on Linux in shared header

This commit eliminates Linux dependencies in shared file mlx5.h.

1. All functions using 'struct ifreq' are moved to file
linux/mlx5_ethdev_o

net/mlx5: eliminate dependency on Linux in shared header

This commit eliminates Linux dependencies in shared file mlx5.h.

1. All functions using 'struct ifreq' are moved to file
linux/mlx5_ethdev_os.c such that this struct can be removed from mlx5.h.
2. Function mlx5_set_flags() that uses Linux flags (e.g. IFF_UP) is
changed to static and its prototype is removed from mlx5.h.
3. Remove redundant member verbs_action from 'struct mlx5_priv'.

Signed-off-by: Ophir Munk <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


Revision tags: v20.08-rc1
# 2175c4dc 28-Jun-2020 Suanming Mou <[email protected]>

net/mlx5: convert configuration objects to unified malloc

This commit allocates the miscellaneous configuration objects from the
unified malloc function.

Signed-off-by: Suanming Mou <suanmingm@mell

net/mlx5: convert configuration objects to unified malloc

This commit allocates the miscellaneous configuration objects from the
unified malloc function.

Signed-off-by: Suanming Mou <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


# 420bbdae 23-Jun-2020 Viacheslav Ovsiienko <[email protected]>

net/mlx5: fix host physical function representor naming

The new kernel adds the names like "pf0" for Host PCI physical
function representor on Bluefield SmartNIC hosts. This patch
provides correct H

net/mlx5: fix host physical function representor naming

The new kernel adds the names like "pf0" for Host PCI physical
function representor on Bluefield SmartNIC hosts. This patch
provides correct HPF representor recognition over the kernel
versions 5.7 and laters.

The following port naming formats are supported:

- missing physical port name (no sysfs/netlink key) at all,
master is assumed

- decimal digits (for example "12"), representor is
assumed, the value is the index of attached VF

- "p" followed by decimal digits, for example "p2", master
is assumed

- "pf" followed by PF index, for example "pf0", Host PF
representor is assumed on SmartNIC systems.

- "pf" followed by PF index concatenated with "vf" followed by
VF index, for example "pf0vf1", representor is assumed.
If index of VF is "-1" it is a special case of Host PF
representor, this representor must be indexed in devargs
as 65535, for example representor=[0-3,65535] will
allow representors for VF0, VF1, VF2, VF3 and for host PF.

Fixes: 79aa430721b1 ("common/mlx5: split common file under Linux directory")
Cc: [email protected]

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

show more ...


# aec086c9 18-Jun-2020 Matan Azrad <[email protected]>

common/mlx5: share kernel interface name getter

Some configuration of the mlx5 port are done by the kernel net device
associated to the IB device represents the PCI device.

The DPDK mlx5 driver use

common/mlx5: share kernel interface name getter

Some configuration of the mlx5 port are done by the kernel net device
associated to the IB device represents the PCI device.

The DPDK mlx5 driver uses Linux system calls, for example ioctl, in
order to configure per port configurations requested by the DPDK user.

One of the basic knowledges required to access the correct kernel net
device is its name.

Move function to get interface name from IB device path to the common
library.

Signed-off-by: Matan Azrad <[email protected]>
Reviewed-by: Maxime Coquelin <[email protected]>

show more ...


12