annoying freebsd ipv6 thing:
# ifconfig lo1 create inet6 auto_linklocal -ifdisabled 2001:db8:100::1/128 up
# ping 2001:db8:200::2
(ping uses 2001:db8:100::1 as source address)
# ifconfig lo2 create inet6 auto_linklocal -ifdisabled no_prefer_iface 2001:db8:200::1/128 up
# ping 2001:db8:200::2
(ping now uses 2001:db8:200:1 as source address)
my expectation was that no_prefer_iface would prevent it from choosing addresses on lo2 as source address automatically, but apparently this does not prevent choosing the longest match for the destination :-(
there's 'prefer_source', which seems to be an address-specific attribute, but i don't think i want that since i have both GUA and ULA addresses configured.
there's also 'anycast', but apparently if you configure an address as anycast, you can't bind to it, which seems a bit useless.