Date: Wed, 08 Jul 2026 12:28:20 +0000 From: Andrew Gallatin <gallatin@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 1cce5ef05d7b - main - lagg: re-check port caps after bringing up a port Message-ID: <6a4e4264.3c2ad.53e50a88@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by gallatin: URL: https://cgit.FreeBSD.org/src/commit/?id=1cce5ef05d7ba077b0cb29d30b59f3a862e7e5ae commit 1cce5ef05d7ba077b0cb29d30b59f3a862e7e5ae Author: Andrew Gallatin <gallatin@FreeBSD.org> AuthorDate: 2026-07-08 12:24:35 +0000 Commit: Andrew Gallatin <gallatin@FreeBSD.org> CommitDate: 2026-07-08 12:27:58 +0000 lagg: re-check port caps after bringing up a port Some nic drivers (including iflib) do not initialize if_hwassist until after the interface is brought up. If a lagg member is included in a lagg when its not yet been brought up, that will cause lagg to see if_hwassist=0 and will disable all checksum offload, etc, on the interface. This is almost impossible to debug without kgdb or dtrace, as ifconfig does not surface if_hwassist. Fix this by re-calculating lagg caps (including if_hwassist) after adding a port. I encountered this problem when I had a commented-out if_foo1=up entry in my rc.conf that i neglected to uncomment when I was re-configuring a lagg. Sponsored by: Netflix Reviewed by: markj, zlei Differential Revision: https://reviews.freebsd.org/D58062 --- sys/net/if_lagg.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/net/if_lagg.c b/sys/net/if_lagg.c index da08e02d50be..e8e0306b0d1f 100644 --- a/sys/net/if_lagg.c +++ b/sys/net/if_lagg.c @@ -1309,6 +1309,8 @@ lagg_init_locked(struct lagg_softc *sc) lagg_if_updown(sc, true); + /* Recheck port caps; bringing them up may have changed if_hwassist. */ + lagg_capabilities(sc); lagg_proto_init(sc); if (ifp->if_type == IFT_INFINIBAND) {home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a4e4264.3c2ad.53e50a88>
