From nobody Sat Jun 21 15:27:55 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4bPdWw3l4qz5yfmW; Sat, 21 Jun 2025 15:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bPdWw0XMRz49rf; Sat, 21 Jun 2025 15:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750519676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgaTlcTvDIMfxmLGgfeCGpXvM8bDNhaf85hLbB+bxGA=; b=GpXjpNGxALvEPyRW9eJp10B0NKWt8pWXAn1pI+zv0rKKDW/7eIdGCw14Kg5uzTiuazt4rD NFLRTwfa9xRAjjRP/2Gip6jWc6DqyiFTRcs1+V0/Re5PcdMC+NxAY8yNJE0rMJgz6MpHf7 AhPAfe6Mg8GxNlIjSqzKHaOl2qt2r6boGs02Ra2uTSRKC592dgztp/5hWs674yC4ySibP+ kINTIvMqCb/+2EpKgcagPl977ful0vT/pS7h0Y9iTt5mvYspp2ScIUEDlxGtT7ymWy9tB6 I16S9NruG1S6L+5llPtEHeTBRwlHllTRPenWcEgcCF4c1HWGyD3gixOkfQFavg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1750519676; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PgaTlcTvDIMfxmLGgfeCGpXvM8bDNhaf85hLbB+bxGA=; b=xJ9x3hovfLc8gpDgjlWITyfsn9bZ6iMr+6fwiUK+TOgHoimOsCV/nOZq++IGT1H3LF4XwM 1x4o1oCTXMIVz3KTW9kYgTfCzmG/STx0HdypGLMXERvkivCqPeIx21poraP3gfwACZyyXR cyqUqpWwoDh3YEkuEj6jgoGvsxFnrCgPHQK3+4/XhM5CBniD7TGWiNJGcYVquwyNNtuf3z g3H6JWbBOalvBq8t6bO+9pKsBDdnBIRl1ZnYFoYQeAcmD11+KjbxS19oGtJWRbNlSjmMp5 FCcJ3URMt8DHgAJl2JbQr834um5cX/+adIkarIX7I1HnU/raaNyTsDL3v94qJA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1750519676; a=rsa-sha256; cv=none; b=jKnZAkeQgbLcRFiKSZ9eTV0fdgFFK6vUzv0R1XH2V32ZtttSB6zNnPNM0Wxr3+O4HQrF/9 iAhc/lSu99p36AN+O6V1LoyuY59T5Nue5HJRn2/zbKB2AcIvxuTjkli47IN5+aQxIuwNb6 a9DiDpWKT0n3mpoAvIwRD1cSs8DY45/PeGGw0HNPL+Kn/dVKonD0jELlDKFNzEOTdSfxSX FPKasKZehMOoO1DTQ0biuoNVfjdUz0NJdQSyB2O4+yCHgVjrr/qgZcXPnL+dKTSlgPhYvJ WbrIyj37IT1L+2OUBUOZ6ydXyKYl75YO5SNMPJQDYpkyn7dzkHYGtwoguh6u6g== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4bPdWw07m6zdTY; Sat, 21 Jun 2025 15:27:56 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 55LFRtNa035395; Sat, 21 Jun 2025 15:27:55 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 55LFRtHW035392; Sat, 21 Jun 2025 15:27:55 GMT (envelope-from git) Date: Sat, 21 Jun 2025 15:27:55 GMT Message-Id: <202506211527.55LFRtHW035392@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Zhenlei Huang Subject: git: 6ce8fd1978a9 - main - ethernet: Set maximum Ethernet header length based on the capability IFCAP_VLAN_MTU List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: zlei X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6ce8fd1978a9526ff0dc02ed98ef797f9154ec1f Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=6ce8fd1978a9526ff0dc02ed98ef797f9154ec1f commit 6ce8fd1978a9526ff0dc02ed98ef797f9154ec1f Author: Zhenlei Huang AuthorDate: 2025-06-21 15:12:29 +0000 Commit: Zhenlei Huang CommitDate: 2025-06-21 15:12:29 +0000 ethernet: Set maximum Ethernet header length based on the capability IFCAP_VLAN_MTU Lots of Ethernet drivers fix the header length after ether_ifattach(). Well since the net stack can conclude it based on the capability IFCAP_VLAN_MTU, let the net stack do it rather than individual drivers. Reviewed by: markj, glebius MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D50846 --- sys/net/if_ethersubr.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index cb858f20f3b6..cec1c08c2614 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -987,7 +987,8 @@ ether_ifattach(struct ifnet *ifp, const u_int8_t *lla) struct sockaddr_dl *sdl; ifp->if_addrlen = ETHER_ADDR_LEN; - ifp->if_hdrlen = ETHER_HDR_LEN; + ifp->if_hdrlen = (ifp->if_capabilities & IFCAP_VLAN_MTU) != 0 ? + ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN : ETHER_HDR_LEN; ifp->if_mtu = ETHERMTU; if_attach(ifp); ifp->if_output = ether_output;