Next-hop-interface not routing ICMP

It looks like next-hop-interface static route will route regular tcp/udp traffic but not ICMP? When I do traceroute, it shows traffic goes to my regular WAN interface not the GRE tunnel I route my traffic with. But my HTTP traffic goes through just fine.
I am not quite sure what happened.

Can you provide some logs/traces showing what you mean etc, so one of us might try to produce it?
Also what version of Vyos etc.

I already change my routings so I can’t show you my tracert log. But here is how you could reproduce the issue: (I have tried it in both 1.3.0 and 1.3.2)
I don’t know if this also happens to IPv4. I only routes IPv6. So I only experienced this issue with IPv6.

  1. Setup a GRE or Wireguard tunnel
  2. Send default traffic over to the tunnel via next-hop-interface
  3. On one of the client machines, run traceroute any IP address. You will find the traceroute shows routes via WAN not the tunnel in the next-hop-interfaces.
  4. Go to any IP address via HTTP, it does go through next-hop-interfaces.

I only experienced this in IPv6. I have not had a chance to test it for IPv4.

Some of the service you could test this with is route48.org. Get one of their IPv6 tunnel and configure it via GRE or Wireguard. This is my sestup.