Re: git: da50f49977cc - main - ifconfig: fix removing IPv6 addresses
Date: Mon, 08 Sep 2025 22:26:08 UTC
Should this also be done for WITHOUT_NETLINK?
> diff --git sbin/ifconfig/af_inet6.c sbin/ifconfig/af_inet6.c
> index 7986edf490b4..e0f34f0c4d82 100644
> --- sbin/ifconfig/af_inet6.c
> +++ sbin/ifconfig/af_inet6.c
> @@ -753,7 +753,7 @@ static struct afswtch af_inet6 = {
> #ifdef WITHOUT_NETLINK
> .af_difaddr = SIOCDIFADDR_IN6,
> .af_aifaddr = SIOCAIFADDR_IN6,
> - .af_ridreq = &in6_addreq,
> + .af_ridreq = &in6_ridreq,
> .af_addreq = &in6_addreq,
> .af_exec = af_exec_ioctl,
> #else
On 7/29/25 6:13 AM, Kristof Provost wrote:
> The branch main has been updated by kp:
>
> URL: https://cgit.FreeBSD.org/src/commit/?id=da50f49977cc4e6aae55cb2379313599249a8dd2
>
> commit da50f49977cc4e6aae55cb2379313599249a8dd2
> Author: Kristof Provost <kp@FreeBSD.org>
> AuthorDate: 2025-07-29 09:50:11 +0000
> Commit: Kristof Provost <kp@FreeBSD.org>
> CommitDate: 2025-07-29 13:13:09 +0000
>
> ifconfig: fix removing IPv6 addresses
>
> Sponsored by: Rubicon Communications, LLC ("Netgate")
> ---
> sbin/ifconfig/af_inet6.c | 2 +-
> sbin/ifconfig/tests/inet6.sh | 30 ++++++++++++++++++++++++++++++
> 2 files changed, 31 insertions(+), 1 deletion(-)
>
> diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c
> index 17dc068ee875..7986edf490b4 100644
> --- a/sbin/ifconfig/af_inet6.c
> +++ b/sbin/ifconfig/af_inet6.c
> @@ -759,7 +759,7 @@ static struct afswtch af_inet6 = {
> #else
> .af_difaddr = NL_RTM_DELADDR,
> .af_aifaddr = NL_RTM_NEWADDR,
> - .af_ridreq = &in6_add,
> + .af_ridreq = &in6_del,
> .af_addreq = &in6_add,
> .af_exec = in6_exec_nl,
> #endif
> diff --git a/sbin/ifconfig/tests/inet6.sh b/sbin/ifconfig/tests/inet6.sh
> index edfd88d93af7..22399915a64d 100644
> --- a/sbin/ifconfig/tests/inet6.sh
> +++ b/sbin/ifconfig/tests/inet6.sh
> @@ -76,8 +76,38 @@ broadcast_cleanup()
> vnet_cleanup
> }
>
> +atf_test_case "delete6" "cleanup"
> +delete6_head()
> +{
> + atf_set descr 'Test removing IPv6 addresses'
> + atf_set require.user root
> +}
> +
> +delete6_body()
> +{
> + vnet_init
> +
> + ep=$(vnet_mkepair)
> +
> + atf_check -s exit:0 \
> + ifconfig ${ep}a inet6 fe80::42/64
> + atf_check -s exit:0 -o match:"fe80::42%${ep}" \
> + ifconfig ${ep}a inet6
> +
> + atf_check -s exit:0 \
> + ifconfig ${ep}a inet6 -alias fe80::42
> + atf_check -s exit:0 -o not-match:"fe80::42%${ep}" \
> + ifconfig ${ep}a inet6
> +}
> +
> +delete6_cleanup()
> +{
> + vnet_cleanup
> +}
> +
> atf_init_test_cases()
> {
> atf_add_test_case netmask
> atf_add_test_case broadcast
> + atf_add_test_case delete6
> }