Has anyone seen an issue where PIM bootstrap import/export policies don't work correctly on IPv6 RPs? Or for that matter, is anyone using these policies successfully?
They are working fine for IPv4, but for IPv6 they are preventing the local RP router from learning the IPv6 BSR, so instead the local router elects itself as the BSR for IPv6, causing the rest of the network to never discover this local IPv6 RP. This is all being tested on logical-systems and logical-tunnel lt-* interfaces (with encapsulation frame-relay), so there could be a bug there too. I'm using Junos 12.3R4. Topology: R1---R3 | / | | / | | / | R2---R4 Loopbacks: R1 10.0.6.1 2011:1006::10:61 R2 10.0.6.2 2011:1006::10:62 R3 10.0.3.3 2011:1006::10:33 R4 10.0.3.4 2011:1006::10:34 R1 is a local RP for inet/inet6 all groups. R2 is a local RP for inet/inet6 all groups. R3 is the BSR for inet/inet6 (bootstrap priority 1). R4 is a non-RP, non-BSR, regular PIM router. Unicast IPv4/IPv6 connectivity between loopbacks is all working correctly. R1 is experiencing the issue (R2 does as well if I apply the bootstrap import/export policies there, but works fine when deactivating those policies). R2/R3/R4 all agree on who the BSR is, and they also agree that R2 is the only RP for IPv6. Everyone including R1 agrees on everything for IPv4. But R1 doesn't see the correct BSR, and no one learns that R1 is an IPv6 RP. R1 config: [edit protocols pim] lab@mx80:r1# top show policy-options policy-statement BSR-IMPORT term 1 { from interface ge-1/3/8.100; then reject; } term 2 { then accept; } [edit protocols pim] lab@mx80:r1# top show policy-options policy-statement BSR-EXPORT term 1 { to interface ge-1/3/8.100; then reject; } term 2 { then accept; } [edit protocols pim] lab@mx80:r1# top show protocols pim traceoptions { file pim; flag bootstrap detail; flag register detail; } rp { bootstrap { family inet { priority 0; import BSR-IMPORT; export BSR-EXPORT; } family inet6 { priority 0; import BSR-IMPORT; export BSR-EXPORT; } } local { family inet { address 10.0.6.1; priority 2; } family inet6 { address 2011:1006::10:61; priority 2; } } } interface all { version 2; } interface ge-1/3/8.100 { disable; } R2 config: [edit protocols pim] lab@mx80:r2# show traceoptions { file pim; flag bootstrap detail; flag register detail; } rp { bootstrap { family inet { priority 0; import BSR-IMPORT; export BSR-EXPORT; } family inet6 { priority 0; inactive: import BSR-IMPORT; inactive: export BSR-EXPORT; } } local { family inet { address 10.0.6.2; priority 1; } family inet6 { address 2011:1006::10:62; priority 1; } } } interface all { version 2; } interface ge-1/3/9.100 { disable; } R3 config: [edit protocols pim] lab@mx80:r3# show traceoptions { file pim; flag bootstrap detail; flag register detail; } rp { bootstrap { family inet { priority 1; import BSR-IMPORT; export BSR-EXPORT; } family inet6 { priority 1; import BSR-IMPORT; export BSR-EXPORT; } } } interface all { version 2; } interface lt-0/0/0.313 { disable; } interface lt-0/0/0.317 { disable; } R4 config: [edit protocols pim] lab@mx80:r4# show traceoptions { file pim; flag bootstrap detail; flag register detail; } rp { bootstrap { family inet { priority 0; import BSR-IMPORT; export BSR-EXPORT; } family inet6 { priority 0; import BSR-IMPORT; export BSR-EXPORT; } } } interface all { version 2; } Output from R1: [edit protocols pim] lab@mx80:r1# run show pim neighbors B = Bidirectional Capable, G = Generation Identifier H = Hello Option Holdtime, L = Hello Option LAN Prune Delay, P = Hello Option DR Priority, T = Tracking Bit Instance: PIM.master Interface IP V Mode Option Uptime Neighbor addr lt-0/0/0.1405 4 2 HPLGT 00:27:08 10.0.4.6 lt-0/0/0.1414 4 2 HPLGT 00:27:08 10.0.4.13 lt-0/0/0.1405 6 2 HPLGT 00:27:08 fe80::8271:1f00:9:66ff lt-0/0/0.1414 6 2 HPLGT 00:27:08 fe80::8271:1f00:d:55ff [edit protocols pim] lab@mx80:r1# run show pim bootstrap Instance: PIM.master BSR Pri Local address Pri State Timeout 10.0.3.3 1 10.0.6.1 0 Candidate 113 2011:1006::10:61 0 2011:1006::10:61 0 Elected 29 [edit protocols pim] lab@mx80:r1# run show pim rps Instance: PIM.master address-family INET RP address Type Mode Holdtime Timeout Groups Group prefixes 10.0.6.1 bootstrap sparse 150 130 0 224.0.0.0/4 10.0.6.2 bootstrap sparse 150 130 1 224.0.0.0/4 10.0.6.1 static sparse 150 None 0 224.0.0.0/4 address-family INET6 RP address Type Mode Holdtime Timeout Groups Group prefixes 2011:1006::10:61 bootstrap sparse 150 None 0 ff00::/8 2011:1006::10:61 static sparse 150 None 0 ff00::/8 Output from R2: [edit protocols pim] lab@mx80:r2# run show pim neighbors B = Bidirectional Capable, G = Generation Identifier H = Hello Option Holdtime, L = Hello Option LAN Prune Delay, P = Hello Option DR Priority, T = Tracking Bit Instance: PIM.master Interface IP V Mode Option Uptime Neighbor addr lt-0/0/0.2402 4 2 HPLGT 01:04:40 10.0.4.1 lt-0/0/0.2406 4 2 HPLGT 00:27:11 10.0.4.5 lt-0/0/0.2410 4 2 HPLGT 01:04:40 10.0.4.9 lt-0/0/0.2402 6 2 HPLGT 01:04:40 fe80::8271:1f00:d:49ff lt-0/0/0.2406 6 2 HPLGT 00:27:11 fe80::8271:1f00:5:7dff lt-0/0/0.2410 6 2 HPLGT 01:04:40 fe80::8271:1f00:11:39ff [edit protocols pim] lab@mx80:r2# run show pim bootstrap Instance: PIM.master BSR Pri Local address Pri State Timeout 10.0.3.3 1 10.0.6.2 0 Candidate 123 2011:1006::10:33 1 2011:1006::10:62 0 Candidate 123 [edit protocols pim] lab@mx80:r2# run show pim rps Instance: PIM.master address-family INET RP address Type Mode Holdtime Timeout Groups Group prefixes 10.0.6.1 bootstrap sparse 150 141 0 224.0.0.0/4 10.0.6.2 bootstrap sparse 150 141 1 224.0.0.0/4 10.0.6.2 static sparse 150 None 1 224.0.0.0/4 address-family INET6 RP address Type Mode Holdtime Timeout Groups Group prefixes 2011:1006::10:62 bootstrap sparse 150 141 0 ff00::/8 2011:1006::10:62 static sparse 150 None 0 ff00::/8 Output from R3: [edit protocols pim] lab@mx80:r3# run show pim neighbors B = Bidirectional Capable, G = Generation Identifier H = Hello Option Holdtime, L = Hello Option LAN Prune Delay, P = Hello Option DR Priority, T = Tracking Bit Instance: PIM.master Interface IP V Mode Option Uptime Neighbor addr lt-0/0/0.3202 4 2 HPLGT 01:18:02 10.0.2.1 lt-0/0/0.3205 4 2 HPLGT 01:18:02 10.0.2.6 lt-0/0/0.3401 4 2 HPLGT 01:04:43 10.0.4.2 lt-0/0/0.3413 4 2 HPLGT 00:27:14 10.0.4.14 lt-0/0/0.3202 6 2 HPLGT 01:18:02 fe80::8271:1f00:14:51ff lt-0/0/0.3205 6 2 HPLGT 01:18:02 fe80::8271:1f00:10:6eff lt-0/0/0.3401 6 2 HPLGT 01:04:43 fe80::8271:1f00:9:62ff lt-0/0/0.3413 6 2 HPLGT 00:27:14 fe80::8271:1f00:5:86ff [edit protocols pim] lab@mx80:r3# run show pim bootstrap Instance: PIM.master BSR Pri Local address Pri State Timeout 10.0.3.3 1 10.0.3.3 1 Elected 8 2011:1006::10:33 1 2011:1006::10:33 1 Elected 8 [edit protocols pim] lab@mx80:r3# run show pim rps Instance: PIM.master address-family INET RP address Type Mode Holdtime Timeout Groups Group prefixes 10.0.6.1 bootstrap sparse 150 95 0 224.0.0.0/4 10.0.6.2 bootstrap sparse 150 95 0 224.0.0.0/4 address-family INET6 RP address Type Mode Holdtime Timeout Groups Group prefixes 2011:1006::10:62 bootstrap sparse 150 95 0 ff00::/8 Output from R4: [edit protocols pim] lab@mx80:r4# run show pim neighbors B = Bidirectional Capable, G = Generation Identifier H = Hello Option Holdtime, L = Hello Option LAN Prune Delay, P = Hello Option DR Priority, T = Tracking Bit Instance: PIM.master Interface IP V Mode Option Uptime Neighbor addr lt-0/0/0.405 4 2 HPLGT 01:18:05 172.16.0.6 lt-0/0/0.409 4 2 HPLGT 01:18:05 172.16.0.10 lt-0/0/0.4206 4 2 HPLGT 01:18:05 10.0.2.5 lt-0/0/0.4210 4 2 HPLGT 01:18:05 10.0.2.9 lt-0/0/0.4409 4 2 HPLGT 01:04:46 10.0.4.10 lt-0/0/0.4206 6 2 HPLGT 01:18:05 fe80::8271:1f00:c:85ff lt-0/0/0.4210 6 2 HPLGT 01:18:05 fe80::8271:1f00:14:59ff lt-0/0/0.4409 6 2 HPLGT 01:04:46 fe80::8271:1f00:9:6aff [edit protocols pim] lab@mx80:r4# run show pim bootstrap Instance: PIM.master BSR Pri Local address Pri State Timeout 10.0.3.3 1 10.0.3.4 0 Candidate 70 2011:1006::10:33 1 2011:1006::10:34 0 Candidate 70 [edit protocols pim] lab@mx80:r4# run show pim rps Instance: PIM.master address-family INET RP address Type Mode Holdtime Timeout Groups Group prefixes 10.0.6.1 bootstrap sparse 150 148 0 224.0.0.0/4 10.0.6.2 bootstrap sparse 150 148 0 224.0.0.0/4 address-family INET6 RP address Type Mode Holdtime Timeout Groups Group prefixes 2011:1006::10:62 bootstrap sparse 150 148 0 ff00::/8 Thanks. _______________________________________________ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp