Hi Thomas,

I will suppose you use the last CVS head. The difference between your both 
tests is that in the first one, ARP is used to found your target MAC/IP entry, 
but in the second one, ARP is used to found your gateway entry (so, if your 
gateway exists, but not your target, ARP will first find your gateway MAX 
address, and next, lwIP send a packet to (gateway MAC/target IP).

The assertion you give us is in etharp_query, if mem_malloc(MEMP_ARP_QUEUE) 
failed when ARP_QUEUEING=1. If you remove the assert, you got a crash. So, we 
need to change code to be able to work even if we don't have any MEMP_ARP_QUEUE.

I will take a look
  ----- Original Message ----- 
  From: Thomas Taranowski 
  To: Mailing list for lwIP users 
  Sent: Friday, November 09, 2007 11:48 PM
  Subject: [lwip-users] arp failure results in newEntry != NULL assertion


  I'm able to readily reproduce the following, and am wondering if other folks 
have seen similar behavior, or if it's just a problem with my port.

  On my target running lwIP, I while(1) sendto() to a non-existent target on 
the ***LOCAL*** subnet.   
  Result: newEntry!=NULL assertion from etharp.c.  lwIP failed to allocate a 
memp so that it could cache the outgoing packet.  Shouldn't really be an 
assertion, as there needs to be error handling code in place for that, but 
that's another issue. 

  On my target running lwIP, I while(1) sendto() to a non-existent target on a 
***REMOTE*** subnet. 
  Result: code works fine








------------------------------------------------------------------------------


  _______________________________________________
  lwip-users mailing list
  [email protected]
  http://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to