Permalink
Browse files

just ignore an MLD report when we're not the DR.

the change was based on a report from toshiaki.nakatsu@fujixerox.co.jp
  • Loading branch information...
1 parent 7fcba2b commit c52745376239bdc50d1da44ff5225d7a5ec1fd24 jinmei committed Nov 25, 2000
Showing with 9 additions and 13 deletions.
  1. +9 −13 kame/kame/pim6sd/route.c
View
22 kame/kame/pim6sd/route.c
@@ -292,25 +292,21 @@ add_leaf(vifi, source, group)
if_set new_oifs;
if_set new_leaves;
+ if ((uvifs[vifi].uv_flags & VIFF_DR) != 0) {
+ /*
+ * I am not the DR on the subnet on which the report is received.
+ * Ignore the report.
+ */
+ log(LOG_DEBUG, 0, "I'm not the DR on mif %d. Ignore a report.\n",
+ vifi);
+ return;
+ }
mrtentry_ptr = find_route(&sockaddr6_any, group, MRTF_WC, CREATE);
if (mrtentry_ptr == (mrtentry_t *) NULL)
return;
- if ((mrtentry_ptr->incoming == vifi)
- && (!(uvifs[vifi].uv_flags & VIFF_DR)))
- {
- /*
- * The report is received on the iif for this routing entry and I am
- * not the DR for that subnet. Ignore it.
- */
-
- if (mrtentry_ptr->flags & MRTF_NEW)
- delete_mrtentry(mrtentry_ptr);
- return;
- }
-
IF_DEBUG(DEBUG_MRT)
log(LOG_DEBUG, 0, "Adding vif %d for group %s", vifi,
inet6_fmt(&group->sin6_addr));

0 comments on commit c527453

Please sign in to comment.