Description

This article explains possible reason for a IPv6 route is not reachable when you try to ping without the source knob.

Symptoms

You Will notice that the IPv6 IP is not reachable from the gateway without mentioning the source knob.


user@host> ping 2a04:4043:0:3::10

PING6(56=40+8+8 bytes) 2a04:4043:0:3::3 --> 2a04:4043:0:3::10

64 bytes from 2a04:4043:0:3::3: Destination Host Unreachable

Vr TC Flow Plen Nxt Hlim

6 00 00000 0010 3a  40

2a04:4043:0:3::3->2a04:4043:0:3::10

ICMP6: type = 128, code = 0

 

^C

--- 2a04:4043:0:3::10 ping6 statistics ---

8 packets transmitted, 0 packets received, 100% packet loss


However the same IP would be reachable when you ping with the source knob.


user@host> ping 2a04:4043:0:3::10 source 2a04:4043:0:3::1

PING6(56=40+8+8 bytes) 2a04:4043:0:3::1 --> 2a04:4043:0:3::10

16 bytes from 2a04:4043:0:3::10, icmp_seq=0 hlim=64 time=1.195 ms

16 bytes from 2a04:4043:0:3::10, icmp_seq=1 hlim=64 time=0.536 ms

16 bytes from 2a04:4043:0:3::10, icmp_seq=2 hlim=64 time=0.586 ms

16 bytes from 2a04:4043:0:3::10, icmp_seq=3 hlim=64 time=0.527 ms

^C

--- 2a04:4043:0:3::10 ping6 statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max/std-dev = 0.527/0.711/1.195/0.280 ms

Solution

 

This is caused due to the combination of virtual-gateway and mac

 

Combination 1

user@host# show interfaces irb.6022 

proxy-macip-advertisement;

virtual-gateway-accept-data;

family inet {

  address <IPv4 Address>;

}

family inet6 {

  address <IPv6 Address> {

    virtual-gateway-address <virtual ipv6 IP>;

  }

}

mac <mac-address>;

virtual-gateway-v6-mac <virtual mac address>;

 

Combination 2

 

user@host# show interfaces irb.6022 

proxy-macip-advertisement;

virtual-gateway-accept-data;

family inet {

  address <ipv4 address {

    virtual-gateway-address <virtual gateway ip>;

  }

}

family inet6 {

  address <ipv6 address> {

    virtual-gateway-address virtual ipv6 address;

  }

}

mac <MAC address >;

virtual-gateway-v4-mac <virtual gateway mac for ipv4>;

virtual-gateway-v6-mac <virtual gateway Mac for ipv6>;

 

In both combinations we could see that the ping using the configured ipv6 address.

 

Monitor traffic interface output 

 

4:20:43.292832 In IP6 2a04:4043:0:3::3 > ff02::1:ff00:10: ICMP6, neighbor solicitation, who has 2a04:4043:0:3::10, length 32

14:20:43.292910 Out IP6 2a04:4043:0:3::10 > 2a04:4043:0:3::3: ICMP6, neighbor advertisement, tgt is 2a04:4043:0:3::10, length 32

user@host> show ipv6 neighbors 

IPv6 Address              Linklayer Address State   Exp Rtr Secure Interface        

2a04:4043:0:3::1            00:00:5e:05:02:01 stale   938 no no   ae2.0          

2a04:4043:0:3::2             f0:1c:2d:be:85:1c stale   1063 yes no   ae2.0          

2a04:4043:0:3::3             f0:1c:2d:be:85:1c stale   1058 yes no   ae2.0   

 

When we change the config as below.

 

Working config:

 

user@host# show interfaces irb.6022 

proxy-macip-advertisement;

virtual-gateway-accept-data;

family inet {

  address <ipv4 address>;

}

family inet6 {

  address <ipv6 address>;

}

mac <MAC address ?;

 

working config 2

 

user@host# show interfaces irb.6022  

proxy-macip-advertisement;

virtual-gateway-accept-data;

family inet {

  address 5.10.19.18/29 {

    virtual-gateway-address 5.10.19.17;

  }

}

family inet6 {

  address <ipv6 address> {

    virtual-gateway-address <virtual ipv6 address>;

  }

}

virtual-gateway-v4-mac <virtual ipv4 gateway MAC address>;

virtual-gateway-v6-mac <virtual ipv6 gateway MAC address>;

 

After changing the config we could see that the neighbour discovery message switches to link local address.

 

14:29:52.130395 In IP6 fe80::f24b:3a17:86ec:9868 > ff02::1:ff00:10: ICMP6, neighbor solicitation, who has 2a04:4043:0:3::10, length 32

14:29:52.130466 Out IP6 fe80::7e25:86ff:fed5:fd16 > fe80::f24b:3a17:86ec:9868: ICMP6, neighbor advertisement, tgt is 2a04:4043:0:3::10, length 32

Modification History

2024-12-07 : Article Created