Fwd: Point-to-point using GRE over IPv6 -> not possible with a single /128 address on the server?

Peter G. freebsd at disroot.org
Fri Feb 15 16:59:50 UTC 2019


Hi,

I've got issues establishing a point-to-point ipv6-over-ipv6 GRE link.

IPv4 which works as expected:
this end: 10.0.1.10
other end: 10.0.2.10
GW: 10.0.1.1
iface: em0

>ifconfig gre4 create
>ifconfig gre4 inet 10.0.1.10 10.0.2.10 netmask 0xffffffff tunnel
10.0.1.10 10.0.2.10 tunnelfib 2
>route add -host 10.0.1.1 -iface em0 -fib 2
>route add -host 10.0.2.10 10.0.1.1 -fib 2

Works. The tunnel is marked with FIB 2, and a point-to-point is
established. Can be used with IPSEC in transport or whatever.


Now, IPv6 is problematic. The server has allocated a single IPv6 address
with prefixlen 112. This could be the source of the issue.

Private addresses replicate the setup.

this end: fc01:e::100/112
other end fc02:e::200
GW: fc01:e::1

>ifconfig em0
#em0:
#	inet6 fc01:e::100 prefixlen 112

This works. Default GW is at fc01:e::1.

Now the GRE tunnel

>ifconfig gre6 create
>ifconfig gre6 inet6 fc01:e::100 fc:02:e::200 tunnelfib 6
#ifconfig: ioctl (SIOCAIFADDR): File exists

Why is this not possible? Isn't the logic behind it the same as with
IPv4? If not, why not?

Does this mean it is not possible to have a point-to-point using IPv6 on
a machine with only a single /128 address?

Found this as reference:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=208173 but what he did
was on a much broader range.

Many thanks!

Peter


More information about the freebsd-hackers mailing list