From nobody Mon Feb 17 23:31:07 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 4Yxf6h75FSz5nbhL; Mon, 17 Feb 2025 23:31:08 +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 4Yxf6g4sFrz41y7; Mon, 17 Feb 2025 23:31:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739835067; 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=Wk7Bi0OHoapgXx5mz7fGn7ybY/8o9MTcB/1TXq9z7Y4=; b=s5B+fsV93RiKAM10HLq9NX6i2N6Pn8+L2LrOzglaAg5/jC8SDoUp1q4RZlJsRSZD2cJIHg PHmBACszhkGmgmJvnzmVcHeKTQqk1nKiM6kxVKu4iOgQVlKCTArguNgStyeg8VpPy2YzEO SgnsZcjsxpUcSFZ0542UyWjxZX52JzhuqSLZfj7qzRHTlhnHNmkidd/Clt1cnyowqmIGpT RXM0itGD9nZQrEvyFViDEsPdgbrOsj6aKfL1LBKN4HyXEqkjeXYywPtVJbGuUOr0Q1NArK 5PUGgAKUu5r0KGRC6/0IgY3GrrFtr9exBkTZBkj5Q9GxlkQ1hlZzJzzWvEiGPw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1739835067; a=rsa-sha256; cv=none; b=JJAXlcA3ayX5dDanG1NAnavVRgMom7mpA74NreIjkK0Lz6CKZSco8fmWLKySZZurrVS9hD AYhVjoKg7bMD7nIdYlZxeEkg3e6aQ3S+NCslJzU6S7pkm0oHutVcfPU4+9T5bekTZa3PCs gka+TKIQ3iHFMLZV6l38jMWOVJJFaA9vB8lPtm5q/mF/wBoQyjSms1wqr/ZEJ7H6Ju8SYN G8BFu9NNRxdzt4Igq5NCF2B87chTO0l/omwxktLNU/4seVrYr+x1ju6VfNxgVHDFGyst7i xk1117f+K/EO6/H+XaqLE2dHY4/WKrIewKBe9KqBuVu8bfODeoqzvtqf8RbbTA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1739835067; 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=Wk7Bi0OHoapgXx5mz7fGn7ybY/8o9MTcB/1TXq9z7Y4=; b=BslOH8v9ccs9+uO/Jb1RZU3Iy23cmAIFYsPKrv+KNBiFM5mnrzcv61Uh3VHHdqJz1Z2Io3 5M438nooSUJ8kdneYIrsrdAfQ7VHjhCbeKbQK+4DR3TgzeA+Z6UVlUxdIznV3/Xme1WDGP NrxBtuOtgvwF+aIt+OoO2Tjos5rxOpY/OJkaEOkVHdqgAanilCV7FXHGa13IdlGg72Ww9v BMpK2hp55t8G00cYKYDfLtzAeDHQzR4AE6b9nFYV41xAC4s63LhHX611L9Em7O8O6NqGTN 97cOwWxuQ1E/G+PjiR8BcttJGBUVIOMe9YtYJ48gVaMDAk8sOsdUZBtwyZRFoQ== 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 4Yxf6g4JKhzv8X; Mon, 17 Feb 2025 23:31:07 +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 51HNV7BH067320; Mon, 17 Feb 2025 23:31:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 51HNV7Np067317; Mon, 17 Feb 2025 23:31:07 GMT (envelope-from git) Date: Mon, 17 Feb 2025 23:31:07 GMT Message-Id: <202502172331.51HNV7Np067317@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Gleb Smirnoff Subject: git: dc9db1f6b331 - main - netinet: make in_broadcast() and in_ifaddr_broadcast return bool 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: glebius X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: dc9db1f6b33168c0d02dd1b95f18086d3ec7a7ec Auto-Submitted: auto-generated The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=dc9db1f6b33168c0d02dd1b95f18086d3ec7a7ec commit dc9db1f6b33168c0d02dd1b95f18086d3ec7a7ec Author: Gleb Smirnoff AuthorDate: 2025-02-17 23:28:52 +0000 Commit: Gleb Smirnoff CommitDate: 2025-02-17 23:28:52 +0000 netinet: make in_broadcast() and in_ifaddr_broadcast return bool While here annotate deprecated condition with __predict_false() and slightly refactor in_broadcast() removing leftovers from old address list locking. Should be no functional change. --- sys/netinet/in.c | 26 +++++++++++--------------- sys/netinet/in.h | 4 ++-- 2 files changed, 13 insertions(+), 17 deletions(-) diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 28d3e2093c61..0cf148c38575 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -1269,7 +1269,7 @@ in_ifscrub_all(void) IFNET_RUNLOCK(); } -int +bool in_ifaddr_broadcast(struct in_addr in, struct in_ifaddr *ia) { @@ -1278,7 +1278,8 @@ in_ifaddr_broadcast(struct in_addr in, struct in_ifaddr *ia) * Optionally check for old-style (host 0) broadcast, but * taking into account that RFC 3021 obsoletes it. */ - (V_broadcast_lowest && ia->ia_subnetmask != IN_RFC3021_MASK && + __predict_false(V_broadcast_lowest && + ia->ia_subnetmask != IN_RFC3021_MASK && ntohl(in.s_addr) == ia->ia_subnet)) && /* * Check for an all one subnetmask. These @@ -1289,33 +1290,28 @@ in_ifaddr_broadcast(struct in_addr in, struct in_ifaddr *ia) } /* - * Return 1 if the address might be a local broadcast address. + * Return true if the address might be a local broadcast address. */ -int +bool in_broadcast(struct in_addr in, struct ifnet *ifp) { struct ifaddr *ifa; - int found; NET_EPOCH_ASSERT(); - if (in.s_addr == INADDR_BROADCAST || - in.s_addr == INADDR_ANY) - return (1); + if (in.s_addr == INADDR_BROADCAST || in.s_addr == INADDR_ANY) + return (true); if ((ifp->if_flags & IFF_BROADCAST) == 0) - return (0); - found = 0; + return (false); /* * Look through the list of addresses for a match * with a broadcast address. */ CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) if (ifa->ifa_addr->sa_family == AF_INET && - in_ifaddr_broadcast(in, (struct in_ifaddr *)ifa)) { - found = 1; - break; - } - return (found); + in_ifaddr_broadcast(in, (struct in_ifaddr *)ifa)) + return (true); + return (false); } /* diff --git a/sys/netinet/in.h b/sys/netinet/in.h index f4fc41178399..e03fe3391388 100644 --- a/sys/netinet/in.h +++ b/sys/netinet/in.h @@ -672,8 +672,8 @@ int getsourcefilter(int, uint32_t, struct sockaddr *, socklen_t, struct ifnet; struct mbuf; /* forward declarations for Standard C */ struct in_ifaddr; -int in_broadcast(struct in_addr, struct ifnet *); -int in_ifaddr_broadcast(struct in_addr, struct in_ifaddr *); +bool in_broadcast(struct in_addr, struct ifnet *); +bool in_ifaddr_broadcast(struct in_addr, struct in_ifaddr *); int in_canforward(struct in_addr); int in_localaddr(struct in_addr); bool in_localip(struct in_addr);