From nobody Tue Jul 15 15:32:35 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 4bhNVC75pKz62Wkj; Tue, 15 Jul 2025 15:32:35 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4bhNVC56bvz3b7V; Tue, 15 Jul 2025 15:32:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1752593555; 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=tcV8Pry+wl3xuurlxHV5TApkqjC2gEsUkqMm1eivxwM=; b=hRxqRYi9MxxgI0bW1nXyi1NbS1KxcVvXl5/nlttwKei2zn3pb+dqYdOfy4p1EEyi17gtlv HIA6CCqPe6NAF8EsuFoWZAeql1eD18YKPAW/3m6WP0plI7+xbHfa/uypGE7j95OXM0bRfO KNDy1LWM7KKqultnA0MGhxWQrW4bz5R4MvU0e8Pk9BCr20OIprhDfiJ6dMzVqAA54hF14X Gxm7hE1pnIOiCNAbvpz8mgCOw+wkSjgHGbwr/v9yKAO/m/01TSMKeGw3YFoar7/vXlOka8 KPh8ZtcswOiJ/2z7Eq9tG/kcmveXgO6JJBJCk+jR3lBLHUL4mONlMmhGMZmf/w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1752593555; 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=tcV8Pry+wl3xuurlxHV5TApkqjC2gEsUkqMm1eivxwM=; b=IWdk7Bz/q90I3Ubmz6xa2vsNFL+s0PKdS8LYOdumhGf8/43c5NQJDj+FfdVMEpL3sODuln Oj3FFfcX/fuFSnSJSAr+7PCfQPONa67CTEN0nrjXGeGswR9egQLTVsrm3bqQd9noQlH7Zm dToy3arlAlIYBRJNVVWXPvmcnjLCBkfZ268IAg2rT2MtWIYcdjQvicMgFaWjugM7S5BqGh GS+1yLFjX0T1nhY88X/uXwFMWTotp2NPruEFwh6uVd6KLC5oZ5DOPcQEphBWHr5BPMtZxw p2yfkd1GiL1dEXCk9J9ndl2IIhPC4QdMiE9bYPj4+1n78kQklOKHc6qakBVQ9Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1752593555; a=rsa-sha256; cv=none; b=VoeIyyv3/+9/6HSKkgrqebixAJ8USOxfwpfEiLRsDxY0GGgXKK5/uEfYDiyat92PgtY+mh 94uJjpS+Q1b8FOeblGbX7AfQfglQ6m+OL1cd4AP8FOaeWZ1+qHIjGhKzwevFYhXkP3SZTp JtZ87+BnIOfwT7B+UFsguqGtHWirb8e8YOX0QXQvE1bv/MIcfC8hHu8Q8uPdtPTFITEla1 vyYfpwkb92NLSHs8k2eESB6nAUwhHABMvEiJVM+ZYKXsOJ3I0XQmPpRrQz+wM//V4oTilx ATB9/5M5K2XAE4pxl4csojmEDRkMgyh+mp2/idOTMTR35HwNPOVpUk1wKf5rRw== 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 4bhNVC4dQpzmKD; Tue, 15 Jul 2025 15:32:35 +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 56FFWZKZ049070; Tue, 15 Jul 2025 15:32:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 56FFWZ4g049067; Tue, 15 Jul 2025 15:32:35 GMT (envelope-from git) Date: Tue, 15 Jul 2025 15:32:35 GMT Message-Id: <202507151532.56FFWZ4g049067@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: db8296ff38cd - main - ethernet: Move the assertion of ether header sizes back into ethernet.h 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: db8296ff38cd149a21ce363341d401afebd75a0f Auto-Submitted: auto-generated The branch main has been updated by zlei: URL: https://cgit.FreeBSD.org/src/commit/?id=db8296ff38cd149a21ce363341d401afebd75a0f commit db8296ff38cd149a21ce363341d401afebd75a0f Author: Zhenlei Huang AuthorDate: 2025-07-15 15:31:19 +0000 Commit: Zhenlei Huang CommitDate: 2025-07-15 15:31:19 +0000 ethernet: Move the assertion of ether header sizes back into ethernet.h There're lots of consumers, Ethernet drivers, libraries and applications. It is more promising to assert the sizes in every compilation units rather than in if_ethersubr.c only. Those assertions were in the header file but were moved to if_ethersubr.c due to possible conflict of the implementation of CTASSERT [1]. Now that the default C standard is now gnu17 [2] [3] which supports _Static_assert natively, use _Static_assert instead of CTASSERT to avoid possible conflicts. While here, add an extra assertion for the size of struct ether_vlan_header. [1] d54d93ac7f0f Move CTASSERT of ether header sizes out of the header file and into ... [2] ca4eddea97c5 src: Use gnu17 as the default C standard for userland instead of gnu99 [3] 3a98d5701c7f sys: Use gnu17 as the default C standard for the kernel PR: 287761 (exp-run) Reviewed by: glebius Differential Revision: https://reviews.freebsd.org/D50947 --- sys/net/ethernet.h | 6 ++++++ sys/net/if_ethersubr.c | 5 ----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sys/net/ethernet.h b/sys/net/ethernet.h index cf4f75bd0b6c..01485cf26e06 100644 --- a/sys/net/ethernet.h +++ b/sys/net/ethernet.h @@ -62,6 +62,8 @@ struct ether_header { u_char ether_shost[ETHER_ADDR_LEN]; u_short ether_type; } __packed; +_Static_assert(sizeof(struct ether_header) == ETHER_HDR_LEN, + "size of struct ether_header is wrong"); /* * Structure of a 48-bit Ethernet address. @@ -69,6 +71,8 @@ struct ether_header { struct ether_addr { u_char octet[ETHER_ADDR_LEN]; } __packed; +_Static_assert(sizeof(struct ether_addr) == ETHER_ADDR_LEN, + "size of struct ether_addr is wrong"); #define ETHER_IS_MULTICAST(addr) (*(addr) & 0x01) /* is address mcast/bcast? */ #define ETHER_IS_IPV6_MULTICAST(addr) \ @@ -112,6 +116,8 @@ struct ether_vlan_header { uint16_t evl_tag; uint16_t evl_proto; } __packed; +_Static_assert(sizeof(struct ether_vlan_header) == ETHER_HDR_LEN + ETHER_VLAN_ENCAP_LEN, + "size of struct ether_vlan_header is wrong"); #define EVL_VLID_MASK 0x0FFF #define EVL_PRI_MASK 0xE000 diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 7be4dfac23e7..3ae0c01c0efc 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -92,11 +92,6 @@ #include -#ifdef CTASSERT -CTASSERT(sizeof (struct ether_header) == ETHER_ADDR_LEN * 2 + 2); -CTASSERT(sizeof (struct ether_addr) == ETHER_ADDR_LEN); -#endif - VNET_DEFINE(pfil_head_t, link_pfil_head); /* Packet filter hooks */ /* netgraph node hooks for ng_ether(4) */