freebsd-nq/sys/dev/mlx5
John Baldwin c782ea8bb5 Add a switch structure for send tags.
Move the type and function pointers for operations on existing send
tags (modify, query, next, free) out of 'struct ifnet' and into a new
'struct if_snd_tag_sw'.  A pointer to this structure is added to the
generic part of send tags and is initialized by m_snd_tag_init()
(which now accepts a switch structure as a new argument in place of
the type).

Previously, device driver ifnet methods switched on the type to call
type-specific functions.  Now, those type-specific functions are saved
in the switch structure and invoked directly.  In addition, this more
gracefully permits multiple implementations of the same tag within a
driver.  In particular, NIC TLS for future Chelsio adapters will use a
different implementation than the existing NIC TLS support for T6
adapters.

Reviewed by:	gallatin, hselasky, kib (older version)
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D31572
2021-09-14 11:43:41 -07:00
..
mlx5_accel
mlx5_core mlx5/mlx4: Bump driver version to 3.7 2021-07-28 13:47:05 +02:00
mlx5_en Add a switch structure for send tags. 2021-09-14 11:43:41 -07:00
mlx5_fpga
mlx5_fpga_tools Infiniband clients must be attached and detached in a specific order in ibcore. 2020-07-06 08:50:11 +00:00
mlx5_ib mlx5/mlx4: Bump driver version to 3.7 2021-07-28 13:47:05 +02:00
mlx5_lib
cmd.h mlx5ib: Implement support for enabling and disabling RoCE ECN. 2021-07-12 14:22:33 +02:00
cq.h Update user access region, UAR, APIs in the core in mlx5core. 2021-01-08 13:33:46 +01:00
device.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
diagnostics.h
doorbell.h
driver.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
fs.h
mlx5_ifc.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
mlx5_rdma_if.h
mlx5io.h
mpfs.h mlx5: Integrate eswitch and mpfs management code. 2020-03-18 22:33:39 +00:00
port.h mlx5en: Add missing media types for 100GBit/s, 200Gbit/s and 400Gbit/s. 2021-07-12 14:22:29 +02:00
qp.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
srq.h ibcore: Kernel space update based on Linux 5.7-rc1. 2021-07-28 13:28:29 +02:00
tls.h Add basic support for TCP/IP based hardware TLS offload to mlx5core. 2019-12-05 15:16:19 +00:00
vport.h