UDP communication using aliased IP address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have this UDP client-server system in which the server has bind'ed to an aliased IP address. The client is sending requests and I see (using tcpdump) that the replies have the source IP as the aliased IP address. The client does a recvfrom and validates that the source address is the address of the server. I move the server to another machine, for which I delete the alias on the first one. I see that client receives a reply from a server that was sent by the server application before the move and that carries the source IP address as the machine's actual address and not the aliased address! The client rejects this packet (and I know it is fine because this is UDP and all..)

But I was wondering why was the source address not the aliased address?
Buffering seems to be the reason to me. I always thought, on the sender side the UDP packets are not buffered except by the I/F driver and when the IP datagram is there it should not be changed..


This is reproducible every time using my relatively complex applications. But I dont know how to reproduce this "buffering" (if any) with a simple UDP client-server. I have tested and confirmed that if the server sends a message on the socket after the alias has been deleted it gets error 22: invalid argument, but what about the packets that are already in the kernel (if they are)? what happens to those? does message size have something to do with it?

Thank you.

--
Ashwani Wason
ashwas@eternal-systems.com
Tel: +1 (805) 696 9051 x244; Fax: +1 (805) 696 9083
Eternal Systems, Inc.
5290 Overpass Road, Building D, Santa Barbara, CA 93111
www.eternal-systems.com

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux