From nobody Fri Apr 17 22:58:49 2026 X-Original-To: dev-commits-src-all@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 4fy9Kk1wltz6ZGZ7 for ; Fri, 17 Apr 2026 22:58:50 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fy9Kj5KjMz3SZY for ; Fri, 17 Apr 2026 22:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776466729; 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=PpvwwMhnvleHTCssJTVSTkrCUY7+PG9sjrb1nOr3HcM=; b=STCdbv/RrTuuy1iWdGqKSzAH6HAESYwS+ioSpSsPvosriJg25o2n8qCotxF6YsIducyj1z nwTbFeJcUx+zA+IjTVfjd7wKqbcKwjPNWON9P9HI7gYoODjl51uIedvYE5PUcYzj03VZfD S+GEE3LLWtNrYBd+jVQllJmaGE2R/LiAv3cPHzaaxp6oiIqw9SdK9llfVrbhRAT4obpdVG oovxClqzuC779yafn2DRGG2/H9Va6IXesuReh0EqggsAcWB2L/Gr/IPObkhQjypo31JrIx oN0jVKRzC+8fKyuQhHoJN4qlLUMj8ZfPvzippnTbNspnMSJ9HLXOmM0aSyKBiA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776466729; a=rsa-sha256; cv=none; b=pb1p/15sY9gW7xHi/cAuWlQ/XWHXwllpCoMrA/zG/dvXd8160XgEKahE4r5D/rViMEkxYm plWzBPJXw3b1OfFbKcw3SFIY5vCyBLpCuTbJDgwQTF/NTBV16UBwZ5EbhCXqEF2J1rnDXN D5dc+bfMa9RIRxaIbEHOwjouH/0ciBn010lyGkDnazkiKBL92Yicn3o31B1WMtVVvTa2Af +b+0iAA7gi9Kiy/Rm+Q3q3jMoN3stH/kX+MpQbCOIGxlx/pzIEbK+E6nbfB3JwhcAyUEru TSAKTYejm+TJD0+xkNPr1YlonUzTWaHVIA8m4eXvkRBrNQzKN6+VENVOAFLOyw== 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=1776466729; 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=PpvwwMhnvleHTCssJTVSTkrCUY7+PG9sjrb1nOr3HcM=; b=JcobUX8vU/ScIahBvYh30s1pdEgRW5tSH0zo7vpv7WVu5KROdAw0idF/1CxMGXKqKS+LE/ qKp7kkTfLCdQJrVuNHzwC2S1pHSQWlu/Ys/1EclEHByec/B1rQKs7vFyKqVqDpIzJnHk9B PpJFnmbThQXytBVa0u1sFlHUBlXuYs8MHVsjIkofbSpEEqLC/mTz8b7XZ/oRPmP6u8Uqru aiMwC792vTmMr2YrIP5INlTIvvKvtPB+vuD2QLtlIlBgGHRGbKg3XiwKmwuSn4BUw/W/gr iJ0oD8+wpertxZG3uP6nK8GK8gSmX5vUgM3U0y0BZYR1hAaSkdbAyEklMluKsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fy9Kj4kTMz1CT9 for ; Fri, 17 Apr 2026 22:58:49 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 369f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Fri, 17 Apr 2026 22:58:49 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: e80811906177 - main - nd6: Remove anycast check in prelist_update List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: e8081190617741e348fc85f17ff90b066407fc0f Auto-Submitted: auto-generated Date: Fri, 17 Apr 2026 22:58:49 +0000 Message-Id: <69e2bb29.369f2.1aa91bb5@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=e8081190617741e348fc85f17ff90b066407fc0f commit e8081190617741e348fc85f17ff90b066407fc0f Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-04-16 22:31:52 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-04-17 22:52:19 +0000 nd6: Remove anycast check in prelist_update RFC 2462 is obsoleted by RFC 4862 and it made statements more clear than before. Considering SLAAC can't create anycast addresses by itself, remove its check. While here, update comments based on RFC 4862. Reviewed by: markj, zlei Differential Revision: https://reviews.freebsd.org/D56134 --- sys/netinet6/nd6_rtr.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index a27df537ecdc..2a73007d5118 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -1613,14 +1613,13 @@ prelist_update(struct nd_prefixctl *new, struct nd_defrouter *dr, pfxrtr_add(pr, dr); /* - * 5.5.3 (d). If the prefix advertised is not equal to the prefix of + * 5.5.3 (d). If the prefix advertised is not equal to the prefix of * an address configured by stateless autoconfiguration already in the - * list of addresses associated with the interface, and the Valid - * Lifetime is not 0, form an address. We first check if we have - * a matching prefix. - * Note: we apply a clarification in rfc2462bis-02 here. We only - * consider autoconfigured addresses while RFC 4862 simply said - * "address". + * list of addresses associated with the interface (where "equal" + * means the two prefix lengths are the same and the first prefix-length + * bits of the prefixes are identical), + * and if the Valid Lifetime is not 0, form an address (and + * add it to the list). We first check if we have a matching prefix. */ CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { struct in6_ifaddr *ifa6; @@ -1630,21 +1629,9 @@ prelist_update(struct nd_prefixctl *new, struct nd_defrouter *dr, continue; ifa6 = (struct in6_ifaddr *)ifa; - - /* - * We only consider autoconfigured addresses as per rfc2462bis. - */ if (!(ifa6->ia6_flags & IN6_IFF_AUTOCONF)) continue; - /* - * Spec is not clear here, but I believe we should concentrate - * on unicast (i.e. not anycast) addresses. - * XXX: other ia6_flags? detached or duplicated? - */ - if ((ifa6->ia6_flags & IN6_IFF_ANYCAST) != 0) - continue; - /* * Ignore the address if it is not associated with a prefix * or is associated with a prefix that is different from this