netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Fastabend <john.fastabend@gmail.com>
To: Jiri Pirko <jiri@resnulli.us>, Premkumar Jonnala <pjonnala@broadcom.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: Hardware capabilities and bonding offload
Date: Mon, 16 Nov 2015 08:10:27 -0800	[thread overview]
Message-ID: <5649FFF3.9080401@gmail.com> (raw)
In-Reply-To: <20151116153032.GC2217@nanopsycho.orion>

On 15-11-16 07:30 AM, Jiri Pirko wrote:
> Mon, Nov 16, 2015 at 10:29:12AM CET, pjonnala@broadcom.com wrote:
>> Hello,
>>
>> I am looking to offload bond interfaces to hardware for forwarding.  Linux allows for configuring 
>> a variety of parameters on bonds or slave interfaces.  Not all configurations can be offloaded to 
>> hardware.  For example, certain hardware cannot support bonds with mode of adaptive load balancing.
>>
>> When such a configuration is provided by user, we have two options at hand (for platforms supporting
>> hardware offloads):
>>
>> 1. Reject the configuration.  
>>
>> 2. Handle the bond interface in software.  In a scenario where this bond interface is part
>> of a bridge interface, for simplicity purpose, all other interfaces in the bridge need to be 
>> handled in software - which results in a very low packet processing performance.
> 
> Although it might sound intriguing to fallback to sw here, it makes no
> sense and user certainly does not want that. For example in case of our
> HW, we have 100gbit forwarding which would be degraded to ~1gbit (for one
> port pair). Another thing is that for some HW this mignt not be even
> possible. In our case it would be very complicated.
> 
> I believe that the correct approach is to let driver decide if the
> configuration is acceptable or not and reject it in case it is not.
> 

+1 I agree the best approach is to throw a hard error and reject
it if there is no mapping on to the hardware. This lets your
management software propagate that error up so you can handle it
correctly at higher levels in the stack.

You could if needed add a bit to enable setup in software only
if that is needed.

Thanks,
John

> 
>>
>> I'm writing to gather feedback on the approach to take, including any other suggestions.
>> We have discussed this briefly in our weekly netdev meeting, and I received votes for
>> option #1.
>>
>> Thanks
>> Prem
>> --
>> To unsubscribe from this list: send the line "unsubscribe netdev" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 

  reply	other threads:[~2015-11-16 16:10 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-16  9:29 Hardware capabilities and bonding offload Premkumar Jonnala
2015-11-16 15:30 ` Jiri Pirko
2015-11-16 16:10   ` John Fastabend [this message]
2015-11-17 22:03     ` Simon Horman
2015-11-18  0:57       ` John Fastabend
2015-11-18 14:05         ` Andrew Lunn
2015-11-18 14:29           ` Jiri Pirko
2015-11-18 14:50             ` Andrew Lunn

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=5649FFF3.9080401@gmail.com \
    --to=john.fastabend@gmail.com \
    --cc=jiri@resnulli.us \
    --cc=netdev@vger.kernel.org \
    --cc=pjonnala@broadcom.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).