summaryrefslogtreecommitdiff
path: root/lib/zclient.c
diff options
context:
space:
mode:
authorSarita Patra <saritap@vmware.com>2023-07-31 04:30:26 -0700
committerSarita Patra <saritap@vmware.com>2023-07-31 05:48:35 -0700
commit8b36ee47d377ace232d7d45bee694a6c9b4376c5 (patch)
tree656c031207efdf459ed81df888f123689bb63f9a /lib/zclient.c
parent1aa34e5fb79ed2ccc3bf333d19ac1e1ba972e53f (diff)
pimd, pim6d: Don't set SRC_STREAM flag on LHR
Setup: ------ R1( LHR) ---------R2( RP) ----------R3( FHR) Problem: ------- - Send IGMP/MLD join and traffic. LHR: (S,G) mroute is created with reference count = 2 and set the flag SRC_STREAM. (Code flow: pim_mroute_msg_wholepkt -> pim_upstream_add, pim_upstream_sg_running_proc -> pim_upstream_ref) - Send IGMP/MLD prune. LHR: removes (*,G) entry and it tries to remove childen (S,G) entries. But (S,G) is having reference count = 2. So after prune, (S,G) entry reference count becomes 1 and will be present until KAT expires. Fix: --- Don't set SRC_STREAM flag for LHR. In LHR, (S,G) should be maintained, until (*,G) is present. When prune receives delete (*,G) and children (S,G). When traffic stops, delete (S,G) after KAT expires. Issue: #13893 Signed-off-by: Sarita Patra <saritap@vmware.com>
Diffstat (limited to 'lib/zclient.c')
0 files changed, 0 insertions, 0 deletions