After upgrading a J-Series router from JUNOS code to JUNOS with Enhanced Services (JUNOS-ES), the BGP peer fails to establish.
A J6350 router running JUNOS 8.x was upgraded to JUNOS-ES 9.x. Everything looked the same after upgrade, except that BGP peering to a Juniper M-series router failed to establish.
Traffic monitoring on the M-series, showed the IPv6 'neighbor solicitations' from the J6350 being received and replied to, as follows:
17:50:14.927084 In IP6 2222:138:0:1:210:db03:8400:e601 > ff02::1:ffd3:909e: ICMP6, neighbor solicitation, who has 2222:138:0:1:290:6903:8123:909e, length 32
17:50:14.927209 Out IP6 2222:138:0:1:290:6903:8123:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment[|icmp6]
17:50:15.927016 In IP6 2222:138:0:1:210:db03:8400:e601 > ff02::1:ffd3:909e: ICMP6, neighbor solicitation, who has 2222:138:0:1:290:6903:8123:909e, length 32
17:50:15.927141 Out IP6 2222:138:0:1:290:6903:8123:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment[|icmp6]
17:50:16.926718 In IP6 2222:138:0:1:210:db03:8400:e601 > ff02::1:ffd3:909e: ICMP6, neighbor solicitation, who has 2222:138:0:1:290:6903:8123:909e, length 32
17:50:16.926836 Out IP6 2222:138:0:1:290:6903:8123:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment[|icmp6]
Monitoring at the J-series show solicitation-replies from the M-series neighbor being ignored, as follows:
lab@J6350_d> monitor traffic interface tap
07:55:12.824020 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
07:55:13.823991 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
07:55:14.823734 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
07:55:16.823507 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
07:55:17.823418 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
07:55:18.823195 In IP6 2222:138:0:1:290:6903:84d3:909e > 2222:138:0:1:210:db03:8400:e601: ICMP6, neighbor advertisment, tgt is 2222:138:0:1:290:6903:84d3:909e, length 32
JUNOS with Enhanced Services software supports both packet-based and flow-based forwarding. IPv6 (along with CLNS) is packet-based only, and is dropped by default.
So, to resolve this you need to set the following configuration...
edit security forwarding-options
set family inet6 mode packet-based
commit
After this change, the BGP peering established quickly and full function resumed.