<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Infinite Loop in IGMP_ipif_unbind in MQX Software Solutions</title>
    <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389492#M13003</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tim,&lt;/P&gt;&lt;P&gt;Any chance you can re-test on MQX4.1.1?&amp;nbsp; It has updates to RTCS that might fix your issue.&lt;/P&gt;&lt;P&gt;If not, MQX4.2 is due out end of April with many more updates to RTCS.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 20 Feb 2015 16:55:34 GMT</pubDate>
    <dc:creator>DavidS</dc:creator>
    <dc:date>2015-02-20T16:55:34Z</dc:date>
    <item>
      <title>Infinite Loop in IGMP_ipif_unbind</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389491#M13002</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is with MQX 4.0.1 on a MK60FN1M0VMD12. The best I can tell so far is the second time the Ethernet cable is unplugged it loops on this&amp;nbsp; while (ipif-&amp;gt;IGMP_MEMBER). The first time a cable is unplugged it breaks out on an error(RTCSERR_IGMP_INVALID_IP) returned from IGMP_leave_socket_all. The second time &lt;SPAN style="font-size: 13.3333330154419px;"&gt;IGMP_leave_socket_all returns RTCS_OK but does not do anything and it continues to do this looping on &lt;SPAN style="font-size: 13.3333330154419px;"&gt;while (ipif-&amp;gt;IGMP_MEMBER)&lt;/SPAN&gt;. I am looking to find if I can see the problem but the first time through always returning an error make this loop not do much and I am thinking of taking it out or just forcing it to run &lt;SPAN style="font-size: 13.3333330154419px;"&gt;IGMP_leave_socket_all on every member of the structure&lt;/SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Feb 2015 14:51:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389491#M13002</guid>
      <dc:creator>tduncan</dc:creator>
      <dc:date>2015-02-20T14:51:36Z</dc:date>
    </item>
    <item>
      <title>Re: Infinite Loop in IGMP_ipif_unbind</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389492#M13003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Tim,&lt;/P&gt;&lt;P&gt;Any chance you can re-test on MQX4.1.1?&amp;nbsp; It has updates to RTCS that might fix your issue.&lt;/P&gt;&lt;P&gt;If not, MQX4.2 is due out end of April with many more updates to RTCS.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Feb 2015 16:55:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389492#M13003</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2015-02-20T16:55:34Z</dc:date>
    </item>
    <item>
      <title>Re: Re: Infinite Loop in IGMP_ipif_unbind</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389493#M13004</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not anytime soon (deadlines and all).&amp;nbsp; For now I have just put an exit case&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(loopbreak_m == ipif-&amp;gt;IGMP_MEMBER &amp;amp;&amp;amp; (memcmp(&amp;amp;loopbreak_i, &amp;amp;member-&amp;gt;IGRP, sizeof(ip_mreq))==0))&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return RTCSERR_IGMP_INVALID_IP;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loopbreak_m = ipif-&amp;gt;IGMP_MEMBER;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loopbreak_i = member-&amp;gt;IGRP;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 20 Feb 2015 19:36:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389493#M13004</guid>
      <dc:creator>tduncan</dc:creator>
      <dc:date>2015-02-20T19:36:24Z</dc:date>
    </item>
    <item>
      <title>Re: Infinite Loop in IGMP_ipif_unbind</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389494#M13005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;FYI, I have run into this same problem with MQX4.2. &amp;nbsp; It happens when I bind a socket to a multicast group, then unplug the ethernet cable.&lt;/P&gt;&lt;P&gt;The call stack looks like this:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;ipcfg_unbind&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;ipcfg_unbind_internal&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;ipcfg_unbind_internal_actual&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;DHCPCLNT_release&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;DHCPCLNT_release_internal&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;IPIF_unbind&lt;/SPAN&gt;&lt;BR style="color: #333333; background-color: #ffffff; font-size: 14px;" /&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;IGMP_ipif_unbind &amp;lt;----- infinite loop in here&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #333333; background-color: #ffffff; font-size: 14px;"&gt;Similar to tduncan, I have put my own exit case in the while loop.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Jan 2017 21:44:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389494#M13005</guid>
      <dc:creator>joesavageketra</dc:creator>
      <dc:date>2017-01-24T21:44:26Z</dc:date>
    </item>
    <item>
      <title>Re: Infinite Loop in IGMP_ipif_unbind</title>
      <link>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389495#M13006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This problem is produced when remove the IP address from route tree. After, any call of IP_find_if() function returns error.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;My solution is change the order of one line into IPIF_unbind() function. First, we call the IGMP_UNBIND function pointer, and after we remove the IP address.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;I have obtained good results with this solution without need of a break variable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void IPIF_unbind&lt;BR /&gt; (&lt;BR /&gt; IPIF_PARM_PTR parms&lt;BR /&gt; )&lt;BR /&gt;{ /* Body */&lt;/P&gt;&lt;P&gt;#if RTCSCFG_ENABLE_IP4&lt;/P&gt;&lt;P&gt;_ip_address mask;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;// IP_route_remove_direct(parms-&amp;gt;address, 0xFFFFFFFF, parms-&amp;gt;ihandle); // move this line below &lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt;#if RTCSCFG_ENABLE_IGMP &lt;BR /&gt; if (parms-&amp;gt;ihandle) {&lt;BR /&gt; ((IP_IF_PTR)(parms-&amp;gt;ihandle))-&amp;gt;IGMP_UNBIND((IP_IF_PTR)parms-&amp;gt;ihandle,&lt;BR /&gt; parms-&amp;gt;address);&lt;BR /&gt; } /* Endif */&lt;BR /&gt;#endif&lt;BR /&gt; &lt;BR /&gt; &lt;STRONG&gt;IP_route_remove_direct(parms-&amp;gt;address, 0xFFFFFFFF, parms-&amp;gt;ihandle); // this line was higher&lt;/STRONG&gt;&lt;BR /&gt; &lt;BR /&gt; IP_get_netmask(parms-&amp;gt;ihandle, parms-&amp;gt;address, &amp;amp;mask);&lt;BR /&gt; &lt;BR /&gt; /* If mask is invalid do not try to remove direct route */&lt;BR /&gt; if (mask != 1)&lt;BR /&gt; {&lt;BR /&gt; IP_route_remove_direct(parms-&amp;gt;address, mask, parms-&amp;gt;ihandle);&lt;BR /&gt; }&lt;BR /&gt; RTCSCMD_complete(parms, RTCS_OK);&lt;/P&gt;&lt;P&gt;#else&lt;/P&gt;&lt;P&gt;RTCSCMD_complete(parms, RTCSERR_IP_IS_DISABLED);&lt;/P&gt;&lt;P&gt;#endif /* RTCSCFG_ENABLE_IP4 */&lt;/P&gt;&lt;P&gt;} /* Endbody */&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 21 Jun 2017 16:41:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MQX-Software-Solutions/Infinite-Loop-in-IGMP-ipif-unbind/m-p/389495#M13006</guid>
      <dc:creator>santiago</dc:creator>
      <dc:date>2017-06-21T16:41:41Z</dc:date>
    </item>
  </channel>
</rss>

