forked from Mirror/frr
pimd: igmpv3.c was causing prune/join messages to be sent
We were erroneously sending a prune *,G immediately followed by a join *,G under certain situations Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
3667b0bcf6
commit
a459fe85c8
|
@ -933,6 +933,16 @@ static void toex_excl(struct igmp_group *group,
|
||||||
/* clear off SEND flag from all known sources (X,Y) */
|
/* clear off SEND flag from all known sources (X,Y) */
|
||||||
source_clear_send_flag(group->group_source_list);
|
source_clear_send_flag(group->group_source_list);
|
||||||
|
|
||||||
|
if (num_sources == 0)
|
||||||
|
{
|
||||||
|
struct igmp_source *source;
|
||||||
|
struct in_addr any = { .s_addr = INADDR_ANY };
|
||||||
|
|
||||||
|
source = igmp_find_source_by_addr (group, any);
|
||||||
|
if (source)
|
||||||
|
IGMP_SOURCE_DONT_DELETE(source->source_flags);
|
||||||
|
}
|
||||||
|
|
||||||
/* scan received sources (A) */
|
/* scan received sources (A) */
|
||||||
for (i = 0; i < num_sources; ++i) {
|
for (i = 0; i < num_sources; ++i) {
|
||||||
struct igmp_source *source;
|
struct igmp_source *source;
|
||||||
|
|
Loading…
Reference in a new issue