[ECOS] RE : [ECOS] Duplicate ARP table entries

Hao Tseng haotseng@pchome.com.tw
Fri Nov 12 08:07:00 GMT 2004


Hi, Jeff

Yes, the bug exist somewhere, but I don't have time to find it out.
The patch is only a temporary solution for me.

Hao


>Thanks Hao - that did fix the problem.  I'm guessing that the actual bug is located elsewhere but this does stop it from causing the problem I was seeing.
>
>Jeff
>
>-------------
>
>Try this patch. It's can fix ARP problem in my paltform.
>
>Hao
>
>--- ../ecos/packages/net/bsd_tcpip/current/src/sys/netinet/if_ether.c	2004-05-25 21:10:06.000000000 +0800
>+++ ../ecos/packages/net/bsd_tcpip/current/src/sys/netinet/if_ether.c	2004-11-03 10:35:01.310746096 +0800
>@@ -393,13 +393,9 @@
> 		ETHER_MAP_IP_MULTICAST(&SIN(dst)->sin_addr, desten);
> 		return(1);
> 	}
>-	if (rt)
>-		la = (struct llinfo_arp *)rt->rt_llinfo;
>-	if (la == 0) {
>-		la = arplookup(SIN(dst)->sin_addr.s_addr, 1, 0);
>-		if (la)
>-			rt = la->la_rt;
>-	}
>+	la = arplookup(SIN(dst)->sin_addr.s_addr, 1, 0);
>+	if (la)
>+		rt = la->la_rt;
> 	if (la == 0 || rt == 0) {
> 		log(LOG_DEBUG, "arpresolve: can't allocate llinfo for %s%s%s\n",
> 			inet_ntoa(SIN(dst)->sin_addr), la ? "la" : "",
>
>
>-----Original Message-----
>From: Jeff Duncan 
>Sent: Tuesday, November 09, 2004 5:54 PM
>To: 'Gary Thomas'; 'Arnaud Chataignier'
>Cc: 'ecos-discuss@sources.redhat.com'
>Subject: RE: [ECOS] RE : [ECOS] Duplicate ARP table entries
>
>
>More info -
>
>All my ip info is static right now and I'm using the build_bootp function.  If I set the gateway ip to the same value as the host ip then there are no problems.
>
>If I set the gateway to a different IP on the same subnet or if I set the gateway to 0.0.0.0 so that no gateway shows in the routing table then I get into the situation I described earlier.
>
>Jeff
>
>
>-----Original Message-----
>From: Jeff Duncan 
>Sent: Tuesday, November 09, 2004 12:46 PM
>To: 'Gary Thomas'; Arnaud Chataignier
>Cc: ecos-discuss@sources.redhat.com
>Subject: RE: [ECOS] RE : [ECOS] Duplicate ARP table entries
>
>
>Actually we see this problem on units with a non-Ethernet version of Redboot as well as units where we pull the MAC from the same location (no fconfig involved with our modified ethernet driver.)
>
>Also the problem can occur after it's been working just fine and then sits idle for 20+ minutes.  The ARP entries time out after 20 minutes so it seems related to ARPs being generated from the device and the host such that I end up with 2 duplicate entries in the table - one that gets updated by ARP responses and the other that gets used by ether_output.
>
>Jeff
> 
>
>-----Original Message-----
>From: Gary Thomas [mailto:gary@mlbassoc.com] 
>Sent: Tuesday, November 09, 2004 11:09 AM
>To: Arnaud Chataignier
>Cc: Jeff Duncan; ecos-discuss@sources.redhat.com
>Subject: Re: [ECOS] RE : [ECOS] Duplicate ARP table entries
>
>
>On Tue, 2004-11-09 at 10:14, Arnaud Chataignier wrote:
>  
>
>>I confirm the bug. I see it also frequently, but unfortunately I 
>>hadn't had time to dig into the problem yet.
>>
>>What I do as a temporary patch for the moment is to set the ARP entry 
>>manually on host side, so that it doesn't generate an ARP request. May 
>>be it can help you for a while...
>>
>>But for sure this bug needs to be fixed for a use in a real product. I 
>>woudl appreciate receiving the patch if you find the solution before I 
>>do.
>>    
>>
>
>This can happen if your eCos application uses a different ESA (ethernet hardware address) than what RedBoot does.  I have seen this - it happens when the 'fconfig' data isn't set up quite correctly.
>
>  
>
>>Regards,
>>Arnaud.
>>
>>-----Message d'origine-----
>>De : ecos-discuss-owner@ecos.sourceware.org
>>[mailto:ecos-discuss-owner@ecos.sourceware.org] De la part de Jeff 
>>Duncan Envoyé : mardi 9 novembre 2004 17:49 À : 
>>ecos-discuss@sources.redhat.com Objet : [ECOS] Duplicate ARP table 
>>entries
>>
>>
>>I'm looking for some insight into a problems I am seeing.  Using the 
>>latest eCos with FreeBSD stack on an Arm9 connecting directly to a PC, 
>>I sometimes get into a situation where communication (such as ping) 
>>fails. Looking into it further I have found that there seem to be 
>>duplicate entries in the Arp table.  The ethernet output resolves to 
>>one entry that has expired triggering an Arp send.  When the Arp 
>>response is received, a different Arp table entry is updated with the 
>>new Arp timeout.  So what I end up with is a ping request from the 
>>host, a response being generated from ICMP, and a new Arp request 
>>coming out of the device.
>>
>>Sometimes I can fix the problem by clearing the route table and 
>>initializing the connection again.
>>
>>Any ideas?
>>
>>Thanks,
>>Jeff
>>
>>--
>>Before posting, please read the FAQ:
>>http://ecos.sourceware.org/fom/ecos
>>and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>>    
>>


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss



More information about the Ecos-discuss mailing list