Correct or expected UDP behavior

[email protected]
Newsgroups gmane.linux.ports.arm.general
Message-ID <[email protected]>
Folks,
A project I'm working on is about to make a kernel mod
that I'm not really in favor of, so I thought I would
query the experts.

This is a mobile device that supports network connectivity.
The problem arises when a DNS query comes back with valid
data from a different IP address than the query was sent to.

tcpdump logs viewed with wireshark clearly show the
DNS query going out as a UDP packet and the response
coming back as a UDP packet from a different IP address.
Our device then sends an ICMP packet [Destination unreachable (Port  
unreachable).  This sequence of 3 packets repeats endlessly.

At least one online reference indicates this is incorrect
behavior for UDP

http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/udp.html

> If a client/server application executes on a host with more than one  
> IP >interface, the application needs to ensure that it sends any UDP  
> responses >with an IP source address that matches the IP destination  
> address of the UDP >datagram that carried the request.

An internal network expert indicates the mobile device should accept
the DNS response even though the IP address differs.

Q.1) Is the behavior we are seeing where the packet gets rejected
expected/normal behavior for the Linux kernel?

Q.2) If we have to make a mod to accomodate this behavior, where is
the least intrusive point in the network stack to make this mod?

Cheers,
T.mike


-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm
FAQ:        http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette:  http://www.arm.linux.org.uk/mailinglists/etiquette.php
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.