From: Jiri Bohac <jbohac@suse•cz>
To: Weiping Pan <panweiping3@gmail•com>
Cc: netdev@vger•kernel.org, jbohac@suse•cz, fubar@us•ibm.com,
andy@greyhouse•net
Subject: Re: [PATCH net] bonding:update rlb entry for arp request
Date: Wed, 29 Feb 2012 19:26:32 +0100 [thread overview]
Message-ID: <20120229182632.GA14467@midget.suse.cz> (raw)
In-Reply-To: <69d333c976553016d3dea2a4eab1c6d652366b27.1330523517.git.panweiping3@gmail.com>
On Wed, Feb 29, 2012 at 09:55:36PM +0800, Weiping Pan wrote:
> rlb_arp_recv() only handles arp reply packets,
> but I think arp request packets contain the latest information about
> clients(ip and mac), so we should update rlb entry for arp request.
when an ARP request arrives, a reply will be generated by the ARP
protocol and that is going to be intercepted by rlb_arp_xmit().
When we start the "connection" by sending an ARP request,
again, this is intercepted by rlb_arp_xmit(). But at that point
we don't know the client's MAC address - that's why we handle the
ARP reply in rlb_arp_recv().
> This patch can resolve a problem that if an IP address is migrated to a
> different host in the network
No, it can't - it in no way removes entries from the hash table.
And these entries that list an IP address as ours while it is no
longer ours cause the problem.
> the corresponding rlb entry still contains the
> old mac address for this IP, and bonding will send out invalid ARP packets
> that will poison other systems' ARP caches.
yes, but it poisons the caches with an invalid
client_info->ip_src (IP) + client_info->slave->dev->dev_addr (MAC)
combination.
rlb_update_entry_from_arp() updates the _client_ MAC address,
i.e. client_info->mac_dst.
--
Jiri Bohac <jbohac@suse•cz>
SUSE Labs, SUSE CZ
next prev parent reply other threads:[~2012-02-29 18:26 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-27 17:34 [PATCH][RFC] bonding: delete migrated IP addresses from the rlb hash table Jiri Bohac
2012-02-27 17:46 ` bonding: should rlb rx_hashtbl be reimplemented? Jiri Bohac
2012-02-29 13:55 ` [PATCH net] bonding:update rlb entry for arp request Weiping Pan
2012-02-29 18:26 ` Jiri Bohac [this message]
2012-02-29 13:58 ` [PATCH][RFC] bonding: delete migrated IP addresses from the rlb hash table WeipingPan
2012-02-29 18:49 ` Jiri Bohac
2012-02-29 18:59 ` Jay Vosburgh
2012-03-01 2:12 ` Jay Vosburgh
2012-03-01 3:58 ` WeipingPan
2012-03-01 4:01 ` [PATCH net] delete rlb entry if ip of bonding is deleted Weiping Pan
2012-03-01 4:19 ` Jay Vosburgh
2012-03-07 16:02 ` [PATCH][RFC] bonding: delete migrated IP addresses from the rlb hash table Jiri Bohac
2012-04-20 18:56 ` Jiri Bohac
2012-04-26 20:18 ` Jay Vosburgh
2012-04-27 21:03 ` Jiri Bohac
2012-03-23 7:10 ` WeipingPan
2012-03-23 10:33 ` Jiri Bohac
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120229182632.GA14467@midget.suse.cz \
--to=jbohac@suse$(echo .)cz \
--cc=andy@greyhouse$(echo .)net \
--cc=fubar@us$(echo .)ibm.com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=panweiping3@gmail$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox