diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-07-11 22:22:14 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2016-07-12 16:46:01 +0200 |
commit | 2560106c04574349022c0876550ca37b78726265 (patch) | |
tree | 5066cc36ec8d09b043f3e6128b045fdfa77dfe1c /pimd | |
parent | pimd: IGMPv3 leave not deleting group entry (diff) | |
download | frr-2560106c04574349022c0876550ca37b78726265.tar.xz frr-2560106c04574349022c0876550ca37b78726265.zip |
pimd: Start naive implementation of anysource_forward_stop
Naive implementation of igmp_anysource_foward_stop.
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd')
-rw-r--r-- | pimd/pim_zebra.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 5918a5192..b19b3941b 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -43,6 +43,7 @@ #include "pim_zlookup.h" #include "pim_ifchannel.h" #include "pim_rp.h" +#include "pim_igmpv3.h" #undef PIM_DEBUG_IFADDR_DUMP #define PIM_DEBUG_IFADDR_DUMP @@ -740,13 +741,12 @@ void igmp_anysource_forward_start(struct igmp_group *group) void igmp_anysource_forward_stop(struct igmp_group *group) { - /* Any source (*,G) is forwarded only if mode is EXCLUDE {empty} */ - zassert((!group->group_filtermode_isexcl) || (listcount(group->group_source_list) > 0)); + struct igmp_source *source; + struct in_addr star = { .s_addr = 0 }; - if (PIM_DEBUG_IGMP_TRACE) { - zlog_debug("%s %s: UNIMPLEMENTED", - __FILE__, __PRETTY_FUNCTION__); - } + source = igmp_find_source_by_addr (group, star); + if (source) + igmp_source_forward_stop (source); } static int fib_lookup_if_vif_index(struct in_addr addr) |