[En-Nut-Discussion] changes in tcpip stack from 3.9.5 to 3.9.6

William Baker bbaker at priefert.com
Mon Jun 6 23:06:17 CEST 2005


I see you're really on top of it.  Thank you for the help.  Hope to give
3.9.6 a try again with the next rev, or if you come out with a patch. 
For now, 3.9.5 is working well.  I would rather be working and
reporting bugs on the latest release of winavr and Nut/OS, but patience
is a virtue.

bbaker

> I'd not insist on blaming GCC. No idea what drove me in
> this direction. This change causes the different behavior:
>
> * net/udpin.c: ICMP unreachable will be sent on incoming
> udp packets with no local peer port.
>
> Looks like Ethernut wants to reject UDP packets even
> if the datagram is broadcasted.
>
> All this exposes a general problem with the stack.
> Like ICMP echo replies, this UDP reject is sent by
> the Ethernet receiver thread. As long as this thread
> gets blocked in ARP, no new incoming Ethernet packet is
> processed.
>
> This is typically no problem, because Ethernut will
> receive an ARP request before another hosts contacts
> it. As Ethernut uses incoming ARP request to update
> the ARP table, there is no need for another ARP request
> on the response. Thus, limiting the ICMP unreachable
> response to non-broadcasts will fix this for now.
>
> I'm thinking about setting MAX_ARPREQUESTS to 1
> by default, which is the correct way, as Michael Jones
> already pointed out earlier.
>
> Harald
>
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion




More information about the En-Nut-Discussion mailing list