Bug 243703 - fe80 route need to add manually and NDP doesn't populate itself
Summary: fe80 route need to add manually and NDP doesn't populate itself
Status: Open
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: 12.1-RELEASE
Hardware: Any Any
: --- Affects Many People
Assignee: Alexander V. Chernikov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-01-29 14:42 UTC by Boris Tassou
Modified: 2021-04-04 09:02 UTC (History)
3 users (show)

See Also:
koobs: mfc-stable12?
koobs: mfc-stable11?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Boris Tassou 2020-01-29 14:42:50 UTC
Hi,

On FreeBSD 12.1-RELEASE, while setting up a tinc (1.0.36) tunnel in tap-mode.

The fe80 route need to be add manually :

a-side# route -6 show fe80::%tap0/64
route: route has not been found

a-side# route -6 add fe80::%tap0/64 -iface tap0 -nostatic
add net fe80::%tap0/64: gateway tap0

When a peer ask the mac address via ICMPv6/NDP, the NDP cache doesn't populate itself.

a-side# ping6 fe80::2bd:29ff:fe17:ff00%tap0
PING6(56=40+8+8 bytes) fe80::2bd:99ff:fe17:ff00%tap0 --> fe80::2bd:29ff:fe17:ff00%tap0
^C
--- fe80::2bd:29ff:fe17:ff00%tap0 ping6 statistics ---
3 packets transmitted, 0 packets received, 100.0% packet loss

If a ping is made to the other side, the NDP cache is filled and the ospf works.

b-side# ping6 fe80::b096:7ff:fe65:2371%vtnet0
PING6(56=40+8+8 bytes) fe80::b096:7ff:fe65:2371%vtnet0 --> fe80::2bd:99ff:fe17:ff00%tap0
16 bytes from fe80::b096:7ff:fe65:2371%vtnet0, icmp_seq=0 hlim=64 time=0.244 ms
16 bytes from fe80::b096:7ff:fe65:2371%vtnet0, icmp_seq=1 hlim=64 time=0.284 ms
^C
--- fe80::b096:7ff:fe65:2371%vtnet0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.244/0.264/0.284/0.020 ms

and it's works :

a-side# ping6 fe80::2bd:29ff:fe17:ff00%tap0
PING6(56=40+8+8 bytes) fe80::2bd:99ff:fe17:ff00%tap0 --> fe80::2bd:29ff:fe17:ff00%tap0
16 bytes from fe80::2bd:29ff:fe17:ff00%tap0, icmp_seq=0 hlim=64 time=0.309 ms
16 bytes from fe80::2bd:29ff:fe17:ff00%tap0, icmp_seq=1 hlim=64 time=0.421 ms
^C
--- fe80::2bd:29ff:fe17:ff00%tap0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 0.309/0.365/0.421/0.056 ms

Thanks for the help.
Comment 1 Boris Tassou 2020-04-11 13:49:06 UTC
Hi,

The problem is still present.

[root@vultr-paris ~]# ping6 fe80::2bd:6ff:fe17:ff00%tap0
ping6: UDP connect: Network is unreachable
[root@vultr-paris ~]# route -6 add fe80::%tap0/64 -iface tap0 -nostatic
add net fe80::%tap0/64: gateway tap0
[root@vultr-paris ~]# ping6 fe80::2bd:6ff:fe17:ff00%tap0
PING6(56=40+8+8 bytes) fe80::2bd:87ff:fe16:ff00%tap0 --> fe80::2bd:29ff:fe17:ff00%tap0
^C
--- fe80::2bd:29ff:fe17:ff00%tap0 ping6 statistics ---
2 packets transmitted, 0 packets received, 100.0% packet loss
[root@vultr-paris ~]# ping6 fe80::2bd:6ff:fe17:ff00%tap0
PING6(56=40+8+8 bytes) fe80::2bd:87ff:fe16:ff00%tap0 --> fe80::2bd:6ff:fe17:ff00%tap0
16 bytes from fe80::2bd:6ff:fe17:ff00%tap0, icmp_seq=0 hlim=64 time=12.385 ms
16 bytes from fe80::2bd:6ff:fe17:ff00%tap0, icmp_seq=1 hlim=64 time=11.540 ms
^C
--- fe80::2bd:6ff:fe17:ff00%tap0 ping6 statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss

I need to add the route on the target and it's works.

Thanks
Comment 2 Alexander V. Chernikov freebsd_committer 2021-02-14 23:49:48 UTC
I guess it'd be quite a delayed reply.

What does `ifconfig tap0 inet6` show?

I suspect it contains IFDISABLED for IPv6.

With `ipv6_activate_all_interfaces="YES"` in /etc/rc.conf and
net.inet6.ip6.auto_linklocal=1 (default)

it seems to work on -HEAD:
23:49 [2] m@devel2 s ifconfig tap5 create
23:49 [2] m@devel2 s ifconfig tap5 inet6
tap5: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
23:49 [2] m@devel2 s ifconfig tap5 up
23:49 [2] m@devel2 s ifconfig tap5 inet6
tap5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=80000<LINKSTATE>
	inet6 fe80::5a9c:fcff:fe00:7021%tap5 prefixlen 64 scopeid 0x8
	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
Comment 3 Alexander V. Chernikov freebsd_committer 2021-04-04 09:02:36 UTC
I'm going to proceed with case closure on April 11 unless any feedback is received.