Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 22 Jun 2018 14:08:56 -0400
From:      Viktor Dukhovni <freebsd@dukhovni.org>
To:        freebsd-net@freebsd.org
Subject:   Re: [PATCH]: The 6to4 stf0 interface flapping in/out of tentative in FreeBSD 11
Message-ID:  <D77DB9CD-3197-4963-95AA-CB863E0246B6@dukhovni.org>
In-Reply-To: <8fe71247-a9a4-e3cb-3e4a-03852307f080@yandex.ru>
References:  <CEBB4E6F-4D5F-491F-8C81-C9F81325078B@dukhovni.org> <20171106042248.GL3322@mournblade.imrryr.org> <20180622163812.GA17559@mournblade.imrryr.org> <8fe71247-a9a4-e3cb-3e4a-03852307f080@yandex.ru>

next in thread | previous in thread | raw e-mail | index | archive | help


> On Jun 22, 2018, at 1:41 PM, Andrey V. Elsukov <bu7cher@yandex.ru> =
wrote:
>=20
> Your change looks reasonable due to IPv6 DAD procedure does check for
> presence of IFF_DRV_RUNNING flag. But actually it seems the right
> solution should be disabling DAD for if_stf(4) interface.
> IPv6 DAD requires that given interface should be multicast capable, =
but
> for if_stf(4) it is not true.
> Will it help if you use `ifconfig stf0 inet6 no_dad` before assigning
> IPv6 address?

stf_up() in /etc/rc.d/stf has:

                ifconfig stf0 create >/dev/null 2>&1
                ifconfig stf0 inet6 =
2002:${ipv4_in_hexformat}:${stf_interface_ipv6_slaid:-0}:${stf_interface_i=
pv6_ifid} \
                        prefixlen ${stf_prefixlen}

Are you suggesting to add the:

	ifconfig stf0 inet6 no_data

right under "ifconfig stf0 create"?  I'd have to find a convenient time =
to
reboot to the stock kernel, so this will take O(12 hours) before I can =
re-test.

Perhaps the fix should be belt-and-suspenders?  Both set IFF_DRV_RUNNING
and disable DAD automatically for lack of multicast support?  Setting
the flag bit might avoid other future issues.  Avoiding needless DAD
polling sounds sensible.

--=20
	Viktor.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?D77DB9CD-3197-4963-95AA-CB863E0246B6>