On the ProxySG I can't ping an IPv6 link-local address using ping6 (no response)

book

Article ID: 168888

calendar_today

Updated On:

Products

ProxySG Software - SGOS

Issue/Introduction

You want to use IPv6 and in the process of deployment you want to run a few tests using ping6.

In this very simple example, we'll use this data:

Client IPv6 address: fe80::1
ProxySG IPv6 address: fe80::3


When running the ping on the client you see this:

C:\Windows\system32>ping fe80::3 -t

Pinging fe80::3 with 32 bytes of data:
Reply from fe80::3: time<1ms
Reply from fe80::3: time<1ms
Reply from fe80::3: time<1ms
Reply from fe80::3: time<1ms



However, on the ProxySG, you see this:

#ping6 fe80::1
% ping6[118]: UDP connect
PING6(56=40+8+8 bytes) :: --> fe80::1
% ping6[118]: sendmsg
ping6: wrote fe80::1 16 chars, ret=-1
% ping6[118]: sendmsg
ping6: wrote fe80::1 16 chars, ret=-1
% ping6[118]: sendmsg
ping6: wrote fe80::1 16 chars, ret=-1
% ping6[118]: sendmsg
ping6: wrote fe80::1 16 chars, ret=-1
% ping6[118]: sendmsg
ping6: wrote fe80::1 16 chars, ret=-1

--- fe80::1 ping6 statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss


 

Cause

This is caused by the IP address being a link-local address. We need to tell the SG from which interface to send the ping6.

Resolution

We specify the interface behind the IP address, separated by a percent-sign (%), like so:

#ping6 fe80::1%0:0
PING6(56=40+8+8 bytes) fe80::3 --> fe80::1%0:0
16 bytes from fe80::1%0:0, icmp_seq=0 hlim=128 time=0.768 ms
16 bytes from fe80::1%0:0, icmp_seq=1 hlim=128 time=0.302 ms
16 bytes from fe80::1%0:0, icmp_seq=2 hlim=128 time=0.286 ms
16 bytes from fe80::1%0:0, icmp_seq=3 hlim=128 time=0.316 ms
16 bytes from fe80::1%0:0, icmp_seq=4 hlim=128 time=0.359 ms

--- fe80::1%0:0 ping6 statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss



So in this case we sent the ping6 via interface 0:0 (which is configured with fe80::3)