I wrote a program which connects to a TUN interface and replies to ICMPv6 Echo Requests.Even though I can successfully observe the echoes and replies with tcpdump on the TUN interface, it appears that the replies aren't being sent back to the ping command (which is running in the same machine).I've enabled IPv6 forwarding and I can successfully ping the tun0 interface.What's preventing my echo reply to be sent back to the ping6 command?ping command:ping6 fd02:c0de::2ifconfig output (other interfaces omitted for clarity):tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00            inet6 addr: fd02:c0de::1/64 Scope:Global          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1          RX packets:0 errors:0 dropped:0 overruns:0 frame:0          TX packets:12 errors:0 dropped:2090 overruns:0 carrier:0          collisions:0 txqueuelen:500           RX bytes:0 (0.0 B)  TX bytes:1248 (1.2 KB)tcpdump output:14:23:57.229106 IP6 fd02:c0de::1 > fd02:c0de::2: ICMP6, echo request, seq 1295, length 64    0x0000:  6000 0000 0040 3a40 fd02 c0de 0000 0000    0x0010:  0000 0000 0000 0001 fd02 c0de 0000 0000    0x0020:  0000 0000 0000 0002 8000 19d5 2f22 050f    0x0030:  4d11 c155 0000 0000 e57e 0300 0000 0000    0x0040:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f    0x0050:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f    0x0060:  3031 3233 3435 363714:23:58.151833 IP6 fd02:c0de::2 > fd02:c0de::1: ICMP6, echo reply, seq 1295, length 64    0x0000:  6000 0000 0040 3aff fd02 c0de 0000 0000    0x0010:  0000 0000 0000 0002 fd02 c0de 0000 0000    0x0020:  0000 0000 0000 0001 8100 18d5 2f22 050f    0x0030:  4d11 c155 0000 0000 e57e 0300 0000 0000    0x0040:  1011 1213 1415 1617 1819 1a1b 1c1d 1e1f    0x0050:  2021 2223 2425 2627 2829 2a2b 2c2d 2e2f    0x0060:  3031 3233 3435 3637
Why is a Linux Tun interface not returning ICMPv6 Echo replies?
networking;tunneling;icmp