#
362571 |
|
24-Jun-2020 |
hselasky |
MFC r362271: Allow multicast packets to be received in promiscious mode, in mlx4en(4).
Make sure we disable the multicast filter in promiscious mode aswell as when the all multicast flag is set.
Found by: Tycho Nightingale <tychon@freebsd.org> Sponsored by: Mellanox Technologies
|
#
362511 |
|
22-Jun-2020 |
freqlabs |
MFC r362201:
Avoid trying to toggle TSO twice
Remove TSO from the toggle mask when automatically disabled by TXCKSUM* in various NIC drivers.
Reviewed by: hselasky, np, gallatin, jpaetzel Approved by: mav (mentor) Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D25120
|
#
345534 |
|
26-Mar-2019 |
hselasky |
MFC r344920: Teardown ifnet after stopping port in the mlx4en(4) driver.
mlx4_en_stop_port() calls mlx4_en_put_qp() which can refer the link level address of the network interface, which in turn will be freed by the network interface detach function. Make sure the port is stopped before detaching the network interface.
Sponsored by: Mellanox Technologies
|
#
345532 |
|
26-Mar-2019 |
hselasky |
MFC r344919: Don't hold state lock while detaching network device instance in mlx4en(4).
It can happen during shutdown that the lock will recurse when the mlx4en(4) instance is part of a lagg interface. Call ether_ifdetach() unlocked.
Backtrace: panic(): _sx_xlock_hard: recursed on non-recursive sx &mdev->state_lock _sx_xlock_hard() _sx_xlock() mlx4_en_ioctl() if_setlladdr() lagg_port_destroy() lagg_port_ifdetach() if_detach() mlx4_en_destroy_netdev() mlx4_en_remove() mlx4_remove_device() mlx4_unregister_device() mlx4_unload_one() mlx4_shutdown() linux_pci_shutdown() bus_generic_shutdown()
Sponsored by: Mellanox Technologies
|
#
341912 |
|
12-Dec-2018 |
hselasky |
MFC r341549: mlx4en: Add support for receiving all data using one or more MCLBYTES sized mbufs. Also when the MTU is greater than MCLBYTES.
Sponsored by: Mellanox Technologies
|
#
341909 |
|
12-Dec-2018 |
hselasky |
MFC r341547: mlx4en: Remove the DRBR and associated logic in the transmit path.
The hardware queues are deep enough currently and using the DRBR and associated callbacks only leads to more task switching in the TX path. The is also a race setting the queue_state which can lead to hung TX rings.
Sponsored by: Mellanox Technologies
|
#
339302 |
|
11-Oct-2018 |
hselasky |
MFC r339235: Add missing steering rules for virtual function, VF, in mlx4en(4) driver.
When acting as a VF it is required to add steering rules for all unicast addresses. Even if promiscious mode is selected. Else incoming data packets will be dropped.
Sponsored by: Mellanox Technologies
|
#
332288 |
|
08-Apr-2018 |
brooks |
MFC r331797:
Use an accessor function to access ifr_data.
This fixes 32-bit compat (no ioctl command defintions are required as struct ifreq is the same size).
Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14900
|
#
329159 |
|
12-Feb-2018 |
hselasky |
MFC r306486-r325841: Update the mlx4, mlx4ib(4) and mlx4en(4) drivers to match FreeBSD-head prior to the Linux 4.9 RoCE/infiniband upgrade.
Sponsored by: Mellanox Technologies
MFC r306486: Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 like other PCI network drivers. The sys/ofed directory is now mainly reserved for generic infiniband code, with exception of the mthca driver.
- Add new manual page, mlx4en(4), describing how to configure and load mlx4en.
- All relevant driver C-files are now prefixed mlx4, mlx4_en and mlx4_ib respectivly to avoid object filename collisions when compiling the kernel. This also fixes an issue with proper dependency file generation for the C-files in question.
- Device mlxen is now device mlx4en and depends on device mlx4, see mlx4en(4). Only the network device name remains unchanged.
- The mlx4 and mlx4en modules are now built by default on i386 and amd64 targets. Only building the mlx4ib module depends on WITH_OFED=YES .
Sponsored by: Mellanox Technologies
MFC r310425: mlx: avoid use of __DATE__ to make build reproducible
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D8886
MFC r310488: mlx(4): remove date from log message
Further to r310425, go one step further and just remove the date.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D8888
MFC r324200: Implement SIOCGIFRSS{KEY,HASH} for the mlx4en(4) driver.
Differential Revision: https://reviews.freebsd.org/D12176 Sponsored by: Mellanox Technologies
MFC r324201: Setup mbuf hash type properly when receiving IP packets in the mlx4en(4) driver.
Submitted by: sephe@ Differential Revision: https://reviews.freebsd.org/D12229 Sponsored by: Mellanox Technologies
MFC r324621: mlx4: use enum constants instead of const vars for case exprs
Follow up from r324201 to fix compilation with gcc, which complains about non-ICE case expressions.
Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D12675
MFC r325841: Update the mlx4 core and mlx4en(4) modules towards Linux v4.9.
Background: The coming ibcore update forces an update of mlx4ib(4) which in turn requires an updated mlx4 core module. This also affects the mlx4en(4) module because commonly used APIs are updated. This commit is a middle step updating the mlx4 modules towards the new ibcore.
This change contains no major new features.
Changes in mlx4: a) Improved error handling when mlx4 PCI devices are detached inside VMs. b) Major update of codebase towards Linux 4.9.
Changes in mlx4ib(4): a) Minimal changes needed in order to compile using the updated mlx4 core APIs.
Changes in mlx4en(4): a) Update flow steering code in mlx4en to use new APIs for registering MAC addresses and IP addresses. b) Update all statistics counters to be 64-bit. c) Minimal changes needed in order to compile using the updated mlx4 core APIs.
Sponsored by: Mellanox Technologies
|