From mboxrd@z Thu Jan 1 00:00:00 1970 From: WeipingPan Subject: Re: [PATCH][RFC] bonding: delete migrated IP addresses from the rlb hash table Date: Fri, 23 Mar 2012 15:10:15 +0800 Message-ID: <4F6C21D7.2000609@gmail.com> References: <20120227173400.GB816@midget.suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Jay Vosburgh , Andy Gospodarek , netdev@vger.kernel.org To: Jiri Bohac Return-path: Received: from mail-iy0-f174.google.com ([209.85.210.174]:34453 "EHLO mail-iy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751864Ab2CWHJ7 (ORCPT ); Fri, 23 Mar 2012 03:09:59 -0400 Received: by iagz16 with SMTP id z16so4261761iag.19 for ; Fri, 23 Mar 2012 00:09:59 -0700 (PDT) In-Reply-To: <20120227173400.GB816@midget.suse.cz> Sender: netdev-owner@vger.kernel.org List-ID: On 02/28/2012 01:34 AM, Jiri Bohac wrote: > Bonding in balance-alb mode records information from ARP packets > passing through the bond in a hash table (rx_hashtbl). > > At certain situations (e.g. link change of a slave), > rlb_update_rx_clients() will send out ARP packets to update ARP > caches of other hosts on the network to achieve RX load balancing. > > The problem is that once an IP address is recorded in the hash > table, it stays there indefinitely [1]. If this IP address is > migrated to a different host in the network, bonding still sends > out ARP packets that poison other systems' ARP caches with > invalid information. > > This patch solves this by looking at all incoming ARP packets, > and checking if the source IP address is one of the source > addresses stored in the rx_hashtbl. If it is, the corresponding > hash table entries are removed. Thus, when an IP address is > migrated, the first ARP broadcast by its new owner will purge the > offending entries of rx_hashtbl. > > (a simpler approach, where bonding would monitor IP address > changes on the local system does not work for setups like: > HostA --- NetworkA --- eth0-bond0-br0 --- NetworkB --- hostB > and an IP address migrating from HostB to HostA) Hi, Jiri, Do "NetworkA" and "NetworkB" mean different subnet ? How to configure bonding and bridge to make HostA communicate with hostB ? What is the problem for this setup ? I will appreciate it if you can elaborate the problem. thanks Weiping Pan