from_str, to_str, igmp->interface->name, len, ip_hlen, ip_hdr->ip_p);
}
+ /*
+ * When pim starts up we are joining the 224.0.0.13 and 224.0.0.22 multicast
+ * groups. This is causing the kernel to create a igmp packet that pim
+ * turns around and receives. Therefor if we are the originator
+ * of the igmp packet then we can probably just ignore it.
+ */
+ if (ip_hdr->ip_src.s_addr == igmp->ifaddr.s_addr)
+ {
+ if (PIM_DEBUG_IGMP_PACKETS)
+ zlog_debug ("Received IGMP packet from myself, ignoring");
+ return -1;
+ }
+
if (ip_hdr->ip_p != PIM_IP_PROTO_IGMP) {
zlog_warn("IP packet protocol=%d is not IGMP=%d",
ip_hdr->ip_p, PIM_IP_PROTO_IGMP);