I've got a problem with IPv6...
I have been allocated a /48. For the sake of argument, let's assume it's 2001:0DB8:FFFF::/48. The gateway is 2001:0DB8:FFFF::1.
I have allocated the RouterBoard (ROS v5.14) 2001:0DB8:FFFF::/64 and it can quite happily communicate with anything in the outside world. Likewise, any other device in the 2001:0DB8:FFFF::/64 can communicate with the outside world.
The RB is running an L2TP server with one client configured. In the '/ppp secret' for that client, 'Remote IPv6 Prefix' is set to '2001:0DB8:FFFF:1::/64' When the client logs in, a dynamic route is correctly created.
The client has IP 2001:0DB8:FFFF:1:: and the gateway is the L2TP interface.
The client can ping the RB on 2001:0DB8:FFFF::, but can not ping anything else.
When the client pings the RB's gateway (2001:0DB8:FFFF::1), the packets leave via the correct interface, but, the problem is......
2001:0DB8:FFFF::1 sends a neighbour solicitation for 2001:0DB8:FFFF:1:: back to the RB. This gets sent out over the ethernet interfaces on the RB, but *not* on the L2TP interface.
Exactly the same thing happens if the client tries to ping a device in the 2001:0DB8:FFFF::/64 network (for example, 2001:0DB8:FFFF:1:0:be30:5bff:feea:3131) - a neighbour solicitation is broadcast, but it doesn't get answered....
So, the question is, how do I get the RB to answer (or forward) neighbour solicitations for connected L2TP clients?