diff options
author | Sarita Patra <saritap@vmware.com> | 2023-02-28 07:50:29 +0100 |
---|---|---|
committer | Sarita Patra <saritap@vmware.com> | 2023-02-28 10:45:14 +0100 |
commit | b4ba03b34cb776c0ce88af10d401ede0bcdebb33 (patch) | |
tree | d77aba957275d877513f265fe8853afae3bb526d | |
parent | Merge pull request #12751 from Pdoijode/pdoijode/ospf-vrf-neighbor-detail-1 (diff) | |
download | frr-b4ba03b34cb776c0ce88af10d401ede0bcdebb33.tar.xz frr-b4ba03b34cb776c0ce88af10d401ede0bcdebb33.zip |
pimd: Don't start KAT timer when traffic received on PIM disabled interface
Topology:
RP---FHR---Source
Problem Statement:
1. In FHR, Enable PIM and IGMP on source connected interface
2. Start multicast traffic. (s,g) mroute and upstream will be created as expected.
3. Disable PIM on source connected interface.
4. Disable IGMP on source connected interface.
5. Stop the traffic.
Mroute will never get timeout.
Root Cause:
In FHR, when PIMD receive multicast data packet on
source connected interface which is IGMP enabled, but PIM
not enabled. PIMD process the packet, install the
mroute and start the KAT timer.
Fix:
Don't process multicast data packet received on PIM disabled
Signed-off-by: Sarita Patra <saritap@vmware.com>
-rw-r--r-- | pimd/pim_mroute.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/pimd/pim_mroute.c b/pimd/pim_mroute.c index 02b50c9af..adf0540f6 100644 --- a/pimd/pim_mroute.c +++ b/pimd/pim_mroute.c @@ -154,11 +154,15 @@ int pim_mroute_msg_nocache(int fd, struct interface *ifp, const kernmsg *msg) sg.src = msg->msg_im_src; sg.grp = msg->msg_im_dst; - if (!pim_ifp) { + + if (!pim_ifp || !pim_ifp->pim_enable) { if (PIM_DEBUG_MROUTE) zlog_debug( - "%s: PIM not enabled on interface, dropping packet to %pSG", - ifp->name, &sg); + "%s: %s on interface, dropping packet to %pSG", + ifp->name, + !pim_ifp ? "Multicast not enabled" + : "PIM not enabled", + &sg); return 0; } |