Two machines want to be accessed by the same IP address and share workload. Can not change the router. Can only change local linux system. Will the following approach work? Thanks. Solution: --------- 1. Reserve an unused IP as the to be publicized "Server IP", actually no machine takes it. So, it is kind of "virtual IP". 2. Alias the NIC of those two work stations to this "virtual IP" so they can accept packets to this "virtual IP". 3. For ARP request packet to this "virtual IP", those two work stations will return the MAC broadcast address. Then, all the packets to the "virtual IP" will be broadcast to this subnet and those two machines will get such packtes. 4. Before such packets gets into the TCP/IP stack, use a hash function to filter the packets. Say, workstation A will accept packets whose source IP is an odd number and discard the packets with even-number source IP. 5. For the outgoing packets from those two workstations, change the source IP address to be the "virtual IP". 6. Have another thread keep ping each other, once another workstation crashes, change my hash function to accept all the packets to the "virtual IP". Whenever another workstation resumes, switch back to the original hash function. Do you think if this approach will work? There is also a question I am not quite sure, can two machines's NICs be aliased to the same "virtual IP"? Will it cause some conflicts? And, it seems I need to change the linux kernel source code. I am not pretty sure where is the location of the source code related to the above operations. Like, can you tell me the location of the linux kernel source code to answer an ARP request packet, to build a hash function to filter the incoming IP packets before it enters the TCP/IP stack? Thanks a lot. best, chuck - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org