> On Jun 22, 2018, at 1:41 PM, Andrey V. Elsukov <bu7c...@yandex.ru> wrote:
> 
> 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_ipv6_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.

-- 
        Viktor.

_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to