]> git.proxmox.com Git - mirror_frr.git/commit
pimd: Fix the setting of oif_flags in channel oil
authorMobashshera Rasool <mrasool@vmware.com>
Wed, 15 Jun 2022 07:34:46 +0000 (00:34 -0700)
committerMobashshera Rasool <mrasool@vmware.com>
Wed, 15 Jun 2022 07:55:55 +0000 (00:55 -0700)
commit692b118698fa5802066b66c2a07aa63b9c7f6d15
tree409bee3027ec587c052e155d7fbc4b48f877b78a
parent89f76cd132d401676788eb6f734c357d39cfdd85
pimd: Fix the setting of oif_flags in channel oil

When pim_upstream_inherited_olist_decide calls the api
pim_channel_add_oif, it can pass PIM_OIF_FLAG_PROTO_GM,
PIM_OIF_FLAG_PROTO_PIM and/or PIM_OIF_FLAG_PROTO_STAR.
Now a consider a case where PIM flag was already set
but STAR flag was not set and this api tries to set
both STAR + PIM and passes the same. The api pim_channel_add_oif
returns since it sees that PIM is already set without
setting the STAR flag.

So basically this will lead to issues in scenarios where for the
same OIF multiple flags(IGMP, PIM, STAR) needs to be set.

Fixing it for all combinations.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
pimd/pim_oil.c