From: Chris Friesen <chris.friesen@genband.com>
To: Jay Vosburgh <fubar@us.ibm.com>
Cc: Jiri Pirko <jiri@resnulli.us>, netdev <netdev@vger.kernel.org>,
andy@greyhouse.net
Subject: Re: bonding and SR-IOV -- do we need arp_validation for loadbalancing too?
Date: Tue, 24 Jul 2012 15:38:11 -0600 [thread overview]
Message-ID: <500F15C3.4090906@genband.com> (raw)
In-Reply-To: <24104.1343162975@death.nxdomain>
On 07/24/2012 02:49 PM, Jay Vosburgh wrote:
> Chris Friesen<chris.friesen@genband.com> wrote:
>
>> In loadbalance mode wouldn't it just work similar to active-backup? If
>> it's a reply then verify that it came from the arp target, if it's a
>> request then check to see if it came from one of the other slaves.
>
> The problem isn't verifying the requests or replies, it's that
> the ARP packets are not distributed across all slaves (because the
> switch ports are in a channel group / aggregator), so some slaves do not
> receive any ARPs.
Yeah, okay. And if we turn on arp validation then we ignore all the
other packets and so they looks dead. Got it.
In our environment (ATCA shelf) the switches have been customized to
handle some of this stuff so arpmon does work reliably with xor.
In the general case it sounds like the "PF bonding ignores packets from
VFs" is a better bet then.
>> On 07/24/2012 02:18 PM, Chris Friesen wrote:
>>> A more general solution might be to have the device driver also track
>>> the time of the last incoming packet that came from the external network
>>> (rather than a VF) and having the bond driver ignore those packets for
>>> the purpose of link health. Doing this efficiently would likely require
>>> some kind of hardware support though--as an example the 82599 seems to
>>> support this with the "LB" bit in the rx descriptor.
>>
>> That should of course be reversed. We want the bond driver to only use
>> the packets from the external network for the purpose of link health.
>>
>> Does anyone other than bonding actually care about dev->last_rx? If not
>> then we could just change the drivers to only set it for external packets.
> That should of course be reversed. We want the bond driver to only use
>> the packets from the external network for the purpose of link health.
>>
> I believe bonding is the main user of last_rx (a search shows a
> couple of drivers using it internally). For bonding use, in current
> mainline last_rx is set by bonding itself, not in the network device
> driver.
Right, I was looking at older code. In that case presumably the driver
could set an skb flag (external vs VF loopback) that the bonding code
could check?
Chris
next prev parent reply other threads:[~2012-07-24 21:38 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-24 15:57 bonding and SR-IOV -- do we need arp_validation for loadbalancing too? Chris Friesen
2012-07-24 16:42 ` Jiri Pirko
2012-07-24 18:13 ` Jay Vosburgh
2012-07-24 20:18 ` Chris Friesen
2012-07-24 20:38 ` Chris Friesen
2012-07-24 20:49 ` Jay Vosburgh
2012-07-24 21:15 ` Nicolas de Pesloüan
2012-07-24 21:38 ` Chris Friesen [this message]
2012-07-27 14:55 ` Andy Gospodarek
2012-07-27 16:15 ` Chris Friesen
2012-07-27 17:13 ` Andy Gospodarek
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=500F15C3.4090906@genband.com \
--to=chris.friesen@genband.com \
--cc=andy@greyhouse.net \
--cc=fubar@us.ibm.com \
--cc=jiri@resnulli.us \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.