
On Fri, Sep 12, 2014 at 08:48:15AM +0200, Gerhard Sittig wrote:
When a DNS query is sent out, the ethernet packet can get directed to the MAC address of a server that was communicated to before. This is wrong when the previously stored MAC address corresponds to a different server's IP address, i.e. when the IP address of the previous and the current communication are different.
The error can get reproduced by running a sequence of e.g. a TFTP download and a DNS query, where the TFTP and DNS servers reside on individual machines.
The fix is to clear the server's MAC address that might be left from a previous operation, and to fetch the peer's MAC address in a new ARP lookup, before the DNS query is sent. This is the approach taken in other network services, like 8e52533d1095 ("net: tftpsrv: Get correct client MAC address").
Reported-by: Dirk Zimoch dirk.zimoch@psi.ch Signed-off-by: Gerhard Sittig gsi@denx.de
Applied to u-boot/master, thanks!