Sometimes multicast traffic drop is seen when configuring PIM. This is article talks about why it happens and how to avoid it.
Enabling a new PIM neighbor in the existing topology can cause traffic impact. In this example, a new device R3 is being added to the existing topology. The DR at present in the current topology is R1.
(RP) R4 --------- R1 irb.2501 ------------- xe-1/0/1.2501 R3
| igmp
|vlan 2501
R2
PIM configuration and status in R1.
root@R1> show configuration protocols pim
rp {
static {
address 100.11.0.254;
}
interface irb.2501 {
mode sparse;
show configuration interfaces irb.2501
family inet {
address 10.1.1.65/26;
root@R1> show pim interfaces
Stat = Status, V = Version, NbrCnt = Neighbor Count,
S = Sparse, D = Dense, B = Bidirectional,
DR = Designated Router, DDR = Dual DR, DistDR = Distributed DR,
P2P = Point-to-point link, P2MP = Point-to-Multipoint,
Active = Bidirectional is active, NotCap = Not Bidirectional Capable
Name Stat Mode IP V State NbrCnt JoinCnt(sg/*g) DR address
irb.2501 Up S 4 2 DR,NotCap 0 0/0 10.1.1.65
Above output shows that the R1 irb.2501 is the DR.
Making below configuration change in R3.
show interfaces xe-1/0/1.2501
vlan-id 2501;
address 10.1.1.66/26;
protocols pim
address 10.1.1.65; <<<<<<<<<<<<<<<<<<< creating a new RP
interface xe-1/0/1.2501 { <<<<<<<<<<<<<<<<<<<<<< Enabling the interface for PIM
root@R3#commit
commit complete
On checking the R1 and R3, we can see the DR state is changed.
irb.2501 Up S 4 2 NotDR,NotCap 1 0/0 10.1.1.66 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< R1 became non-DR
root@R2# run show pim interfaces
xe-1/0/1.2501 Up S 4 2 DR,NotCap 1 0/0 10.1.1.66 <<<<<<<<<<<<<<<<<<<<<<<<<< R2 is DR
ppe0.32769 Up S 4 2 P2P,NotCap 0 0/0
We see traffic impact on existing groups in the R1 and also to new groups that join via R3.
Issue is seen because of the mismatch of RP and change of DR. Initially to start with R1 was the DR. When the configuration change was made, R3 became the DR and R1 became non-DR.
In this LAN scenario, DR election happened and R3 won the DR election because it had higher IP address. R3(DR) sends out a PIM join towards the RP which is R1 as per the config. R1 drops them as the received PIM join has different RP address than the RP address configured on R1. So, there would be impact to new groups that joins R3.
The existing joins in R1 are not propagated towards RP as R1 is a non-DR now resulting in traffic failure.
When configuring a PIM neighbor to existing network, consider below.
Example: set protocols pim interface <> priority <> [ Please note the default priority of the interface is 1]
Example : set protocols pim interface <> stickydr
2.Use the same RP address in the network.