<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/mlx5, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-05-12T12:55:54Z</updated>
<entry>
<title>Revert "mlx5e: Ensure rx timestamps are monotonically increasing"</title>
<updated>2026-05-12T12:55:54Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2026-05-12T12:55:54Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=23b263dfbf5ec24de2f6e1abc2a4eb04869b3e07'/>
<id>urn:sha1:23b263dfbf5ec24de2f6e1abc2a4eb04869b3e07</id>
<content type='text'>
This reverts commit ce33f96fcf2f2d0d49c406274bcc64df72fe530e.

It turns out that doing it this way did indeed prevent backwards
movement of timestamps, however it also lead to an ever increasing
error, eventually yielding timestamps hundreds or thousands of
seconds in the future.

Back this out until we can come up with a solution that prevents
backards timestamps and also avoids accumulating error.

Sponsored by: Netflix
</content>
</entry>
<entry>
<title>mlx5en: destroy TIR before DEK during TLS RX teardown</title>
<updated>2026-05-06T20:52:12Z</updated>
<author>
<name>Ariel Ehrenberg</name>
<email>aehrenberg@nvidia.com</email>
</author>
<published>2026-04-15T21:45:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bf636accdde4bb9af2c6c07af5420dffffd82332'/>
<id>urn:sha1:bf636accdde4bb9af2c6c07af5420dffffd82332</id>
<content type='text'>
Reorder the TLS RX teardown sequence so the TIR is destroyed before
the DEK.  DESTROY_TIR for a TLS-enabled TIR issues a TRA RX fence
that drains all in-flight packets from the crypto pipeline.  If the
DEK is destroyed first, packets still in flight hit a TPT encryption
error (vendor syndrome 0x55) because the key they reference is
already gone.

Reviewed by:	kib
Sponsored by:	Nvidia networking
MFC after:	1 week
</content>
</entry>
<entry>
<title>mlx5e: Ensure rx timestamps are monotonically increasing</title>
<updated>2026-04-16T16:27:27Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2026-04-16T16:26:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ce33f96fcf2f2d0d49c406274bcc64df72fe530e'/>
<id>urn:sha1:ce33f96fcf2f2d0d49c406274bcc64df72fe530e</id>
<content type='text'>
The clock calibration routine currently can result in rx timestamps
jumping backwards, which can confuse the TCP stack.
Ensure they are monotonically increasing by estimating what
we'd calculate as the next timestamp and clamp the calibration
so new timestamps are no earlier in time.

Reviewed by: kib, nickbanks_netflix.com
Tested by: nickbanks_netflix.com
Differential Revision: https://reviews.freebsd.org/D56427
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>net: Add SIOCGI2CPB ioctl &amp; add page/bank fields to ifi2creq</title>
<updated>2026-04-05T21:04:38Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2026-04-05T19:58:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cf1f21572897ffc85789fbb1792603967297f6fc'/>
<id>urn:sha1:cf1f21572897ffc85789fbb1792603967297f6fc</id>
<content type='text'>
This commit adds page &amp; bank fields to ifi2creq in preparation
for adding CMIS support for 400g optics to ifconfig.
The new ioctl SIOCGI2CPB is added, so that drivers can distinguish
between callers asking for page/bank selection and legacy callers
that simply failed to zero out all ifi2creq fields.

The mlx5en(4) driver and iflib(4) driver frameork have been updated
to use this new SIOCGI2CPB ioctl and support page/bank operations.
A follow-on patchset will add support to ifconfig for reporting
data from CMIS optics.

This has been tested on Nvidia ConnectX-7 and Broadcom Thor2 (using
out of tree driver) based NICs.

Differential Revision: https://reviews.freebsd.org/D55912
Sponsored by: Netflix Inc.
Reviewed by: kib
</content>
</entry>
<entry>
<title>mlx5: postpone freeing the completed command entity to taskqueue</title>
<updated>2026-03-23T00:23:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2026-03-10T07:32:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f0d5f46a1e42b801d96447e544cc3820612748b1'/>
<id>urn:sha1:f0d5f46a1e42b801d96447e544cc3820612748b1</id>
<content type='text'>
because cancel_delayed_work_sync() might need to sleep, which cannot be
done in the interrupt thread where the completion runs.

Sponsored by:	Nvidia networking
MFC after:	1 week
</content>
</entry>
<entry>
<title>mlx5: convert GET_TRUNK_IF() to function</title>
<updated>2026-02-25T17:19:36Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2026-01-29T00:25:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=87ca74de89e0ae96774674f7ae14d303fad5b780'/>
<id>urn:sha1:87ca74de89e0ae96774674f7ae14d303fad5b780</id>
<content type='text'>
Reviewed by:	slavash
Tested by:	Wafa Hamzah &lt;wafah@nvidia.com&gt;
Sponsored by:	Nvidia networking
MFC after:	1 week
</content>
</entry>
<entry>
<title>mlx5: report IPSEC offload capabilities whenever IPSEC_OFFLOAD is configured</title>
<updated>2026-02-25T17:19:36Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2026-01-28T05:32:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=de29fd0322254127c3ebaedbc91ee4f9620f5fdf'/>
<id>urn:sha1:de29fd0322254127c3ebaedbc91ee4f9620f5fdf</id>
<content type='text'>
Do it always for bootverbose if offload was enabled in the kernel
config, not only if the device actually supports all required
capabilities to do the offload. Otherwise, having the code to print the
caps is pointless.

Reviewed by:	slavash
Tested by:	Wafa Hamzah &lt;wafah@nvidia.com&gt;
Sponsored by:	NVidia networking
MFC after:	1 week
</content>
</entry>
<entry>
<title>mlx5: use newly exposed RSS hash key API rather than ad-hoc hashing</title>
<updated>2025-11-24T15:36:41Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2025-11-24T15:36:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8f94088bc5d3ee586b36f8f7b269223b420ac957'/>
<id>urn:sha1:8f94088bc5d3ee586b36f8f7b269223b420ac957</id>
<content type='text'>
Differential Revision:	https://reviews.freebsd.org/D53091
Reviewed by: kib
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>mlx5: Fix compilation error when not building with KERN_TLS</title>
<updated>2025-11-13T21:57:10Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2025-11-13T21:55:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c56a266434678faf961d737714d47291b88a3f9e'/>
<id>urn:sha1:c56a266434678faf961d737714d47291b88a3f9e</id>
<content type='text'>
Reported by: np
Fixes: 9349214a2815 mlx5: Preallocate ktls tags asynchronously
Sponsored by: Netflix
</content>
</entry>
<entry>
<title>mlx5: Preallocate ktls tags asynchronously</title>
<updated>2025-11-05T23:58:33Z</updated>
<author>
<name>Andrew Gallatin</name>
<email>gallatin@FreeBSD.org</email>
</author>
<published>2025-11-05T23:58:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9349214a28152a3cb2424459976f571a9c8fc5df'/>
<id>urn:sha1:9349214a28152a3cb2424459976f571a9c8fc5df</id>
<content type='text'>
Change tag preallocation to happen asynchronously when an interface is
brought up, so as to reduce boot times when preallocating tags.

- A new mlx5-tls-prealloc_wq is allocated when preallocation is
  desired, and started when an interface is opened

- The bulk of the prealloc code remains the same, except the
  allocations are now M_NOWAIT. M_NOWAIT is needed because, since the
  preallocation is done asynchronously, and since tag allocation is
  not instant, we could race with a real TLS session trying to
  allocate a tag. Note that in this case, we take allocation failure
  as a sign that we were unable to obtain the entire zone due to there
  being other consumers.  This was suggested by @markj as a way to
  keep things simple, after discussing why uma_zone_get_cur() didn't
  immediately report a fully allocated zone.  If this turns out to be
  problematic, we could use uma_zone_set_maxaction() to stop
  pre-allocations (also suggested by Mark)

Reviewed by: glebius, kib, markj
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D53570
</content>
</entry>
</feed>
