From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: passt.top; dmarc=none (p=none dis=none) header.from=gibson.dropbear.id.au Authentication-Results: passt.top; dkim=pass (2048-bit key; secure) header.d=gibson.dropbear.id.au header.i=@gibson.dropbear.id.au header.a=rsa-sha256 header.s=202602 header.b=kW8UXrtS; dkim-atps=neutral Received: from mail.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by passt.top (Postfix) with ESMTPS id 5CBC65A004E for ; Mon, 02 Mar 2026 11:51:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gibson.dropbear.id.au; s=202602; t=1772448676; bh=BxbOGOanICMRGSfY2jjhpZtSbVHTdTXHIJqpeAxXhDQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=kW8UXrtSIyL1zhJQlOOCtCzXgEVHKv6UWlT4bGcVNPaadb11sraGpjfTSD/tFstz1 lW6Yirpss6WWWF5vjkNF0nz8BBpYLnjQKljQf8XSVoqHXv/rfgkzFcRM3u0tVrH5Vu PfdyTLgzs3zZgaA7knD2BFnSPGqYlM2jDJl1x8zl+9FBOKWg3zx2vFgWElmkC9G8FG TwVTo6HbOeYI6wyM1XT/HhQnfAoZ5HL5LLOFfhydiSmXyzRyk77tBxpSxP1MmSVUBl +4PuFAwlhQqQMqPX5+Nix3dAQ+ymJaHEHUbQacnHzGdYFrsPP6qdt6WJh1vsSCQKlg XE1rc8QxWzIAg== Received: by gandalf.ozlabs.org (Postfix, from userid 1007) id 4fPbMS5N8jz4w9y; Mon, 02 Mar 2026 21:51:16 +1100 (AEDT) Date: Mon, 2 Mar 2026 21:43:46 +1100 From: David Gibson To: Jon Maloy Subject: Re: [PATCH v5 05/13] netlink: Return prefix length for IPv6 addresses in nl_addr_get() Message-ID: References: <20260222174445.743845-1-jmaloy@redhat.com> <20260222174445.743845-6-jmaloy@redhat.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="H1G7xLdnVPHQffid" Content-Disposition: inline In-Reply-To: <20260222174445.743845-6-jmaloy@redhat.com> Message-ID-Hash: T5HSVPBB5ZLDGNWCKKKA77BBE44EKGLQ X-Message-ID-Hash: T5HSVPBB5ZLDGNWCKKKA77BBE44EKGLQ X-MailFrom: dgibson@gandalf.ozlabs.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: sbrivio@redhat.com, dgibson@redhat.com, passt-dev@passt.top X-Mailman-Version: 3.3.8 Precedence: list List-Id: Development discussion and patches for passt Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --H1G7xLdnVPHQffid Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Feb 22, 2026 at 12:44:37PM -0500, Jon Maloy wrote: > nl_addr_get() was not setting the prefix_len output parameter for > IPv6 addresses, only for IPv4. This meant callers always got 0 for > IPv6, forcing them to use a hardcoded default (64). >=20 > Fix by assigning *prefix_len in the IPv6 case, matching the IPv4 > behavior. >=20 > Signed-off-by: Jon Maloy Reviewed-by: David Gibson Moving this patch before 1/13 would address my comment there about the never exercised check on the prefix_len from nl_addr_get(). > --- > conf.c | 2 +- > netlink.c | 4 ++-- > 2 files changed, 3 insertions(+), 3 deletions(-) >=20 > diff --git a/conf.c b/conf.c > index f2ff8af..eb967c7 100644 > --- a/conf.c > +++ b/conf.c > @@ -814,7 +814,7 @@ static unsigned int conf_ip6(struct ctx *c, unsigned = int ifi) > if (!e) { > e =3D &c->addrs[c->addr_count++]; > e->addr =3D addr; > - e->prefix_len =3D prefix_len ? prefix_len : 64; > + e->prefix_len =3D prefix_len; > e->flags =3D CONF_ADDR_HOST; > } > =20 > diff --git a/netlink.c b/netlink.c > index 82a2f0c..769cb23 100644 > --- a/netlink.c > +++ b/netlink.c > @@ -752,7 +752,7 @@ int nl_addr_set_ll_nodad(int s, unsigned int ifi) > * @ifi: Interface index in outer network namespace > * @af: Address family > * @addr: Global address to fill > - * @prefix_len: Mask or prefix length, to fill (for IPv4) > + * @prefix_len: Mask or prefix length, to fill > * @addr_l: Link-scoped address to fill (for IPv6) > * > * Return: 0 on success, negative error code on failure > @@ -797,7 +797,7 @@ int nl_addr_get(int s, unsigned int ifi, sa_family_t = af, > ifa->ifa_prefixlen > prefix_max) { > memcpy(addr, RTA_DATA(rta), RTA_PAYLOAD(rta)); > =20 > - prefix_max =3D ifa->ifa_prefixlen; > + prefix_max =3D *prefix_len =3D ifa->ifa_prefixlen; > } > =20 > if (addr_l && > --=20 > 2.52.0 >=20 --=20 David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson --H1G7xLdnVPHQffid Content-Type: application/pgp-signature; name=signature.asc -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmmlaeEACgkQzQJF27ox 2GdDUg//T2IbbjVl9eCUZTi8PY7RYjREhFlDHkJ2d2snjPaJ58wlHcZno8K8nale YDb30+7ESUZyV/8PxpDlqfUphlpQvy+wYGy9HDF8WBXcgFDx78wuihbOJ1+rQNfe NxZhckj/T4xuyIC1vhGa4L2J8S5M1ByoXvjNKtP48+iJB0enWwZft2h2tIT7iM2G U4BqTlavuRPWoBo1LjL8Y5j8emZvtJuNlRdDyQuAbibUmWzZtRjeu6e7xvt9gMsc kDP45XdO8Ow5a+Dy5ddgIEfNQgRoKZZ6ymzkS9Cbg70d6aGc9EkaafdvZCqjt/Nx c1VrqyQyieCNHwKgp2agi4mNOfI4FxFw1MJBJstMm+yT7BfDsctv/OumMfnvNJ3i QgMgrWxeLQwZssxoFdCQRNPWUJ7rOyW/oNnXmpvVq7VJn++ElzJKbTVUUgUVHM63 G4bEHQOrqeVJ35R5B+RmTtT5dTVHq/GdHuMqBtUoW+X54N4c9bWEKypw7M+g8kxW Wclvk/TEEWtpE/+vS/QI6+Zm0kWX6JvpTWBUcLulGXMpmGcp9OeSdZiQzOOemqU8 merjtpQuy4gVudnWS/6pb4+ur3C7PDDwlsJedyZRilN6a1gLgUxa/T0RvB3/9+/3 YrccHKIM7MPzu3H9Spgc6T4umIxJwVdAWiNc6h8JvD1mlXH4KRk= =t+Rg -----END PGP SIGNATURE----- --H1G7xLdnVPHQffid--