From: Arnd Bergmann <arnd@arndb.de>
To: Sridhar Samudrala <sri@us.ibm.com>
Cc: David Miller <davem@davemloft.net>,
Herbert Xu <herbert@gondor.apana.org.au>,
netdev <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next-2.6] macvtap: Add GSO/csum offload support
Date: Sun, 14 Feb 2010 20:13:08 +0100 [thread overview]
Message-ID: <201002142013.08745.arnd@arndb.de> (raw)
In-Reply-To: <4B7711C9.2090800@us.ibm.com>
On Saturday 13 February 2010 21:55:37 Sridhar Samudrala wrote:
> > Also, what about IFF_TAP and IFF_NO_PI, should those be always set?
> >
> Atleast it is not required for qemu to have these flags set. If we are
> not doing anything different based on
> these flags, i felt we don't need to have them.
The point is that other applications might depend on them. We only support
IFF_TAP operation (not IFF_TUN), and we do not understand the !IFF_NO_PI
frame format, so any program that tries to use the PI header or use cooked
IP packets will get incorrect data.
> >> - /* TODO: add support for these, so far we don't
> >> - support any offload */
> >> - if (arg& (TUN_F_CSUM | TUN_F_TSO4 | TUN_F_TSO6 |
> >> - TUN_F_TSO_ECN | TUN_F_UFO))
> >> - return -EINVAL;
> >> -
> >> - return 0;
> >> + q = macvtap_file_get_queue(file);
> >> + if (!q)
> >> + return -ENOLINK;
> >> + ret = 0;
> >> + if (!(q->flags& IFF_VNET_HDR))
> >> + ret = -EINVAL;
> >> + macvtap_file_put_queue(q);
> >> + return ret;
> >>
> >> default:
> >> return -EINVAL;
> >>
> > At least the first check needs to be in there, in case we are running with
> > new user space that knows additional flags. Moreover, shouldn't we check
> > the flags against the capabilities of vlan->lowerdev? I though it would be
> > best to report the capabilities of the real hardware to the guest kernel
> > so it can do the right thing.
> >
> Originally, i also thought we should check these based on the real
> device capabilities. But later i realized,
> that it is not really required as we fall back to software offload via
> dev_gso_segment() call in dev_hard_start_xmit()
> if the real device doesn't support any of the offloads. So we can
> advertise that all the offloads are supported to
> the guest and let host deal with any offloads that are not supported by
> the real device.
Ah, good point. Will that also work for the checksumming? Also, should the
host really be doing segmentation and checksumming for the guest if the
hardware can't do it? So even if everything works correctly, we might
want to let the guest do the work in order to get accounting of the CPU
cycles right.
OTOH, for data transfers between guests, we can probably use all the offloads
independent of what the HW can do, so when optimizing for inter-guest
communication, we might want to ignore the accounting problems.
I'd like to hear other opinions on this.
Arnd
next prev parent reply other threads:[~2010-02-14 20:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-12 22:27 [PATCH net-next-2.6] macvtap: Add GSO/csum offload support Sridhar Samudrala
2010-02-13 6:58 ` Sridhar Samudrala
2010-02-13 17:34 ` Arnd Bergmann
2010-02-13 20:55 ` Sridhar Samudrala
2010-02-14 19:13 ` Arnd Bergmann [this message]
2010-02-15 0:21 ` Herbert Xu
2010-02-15 9:19 ` Arnd Bergmann
2010-02-15 17:05 ` Sridhar Samudrala
2010-02-18 16:10 ` Arnd Bergmann
2010-02-18 20:03 ` Sridhar Samudrala
2010-02-18 20:47 ` Arnd Bergmann
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=201002142013.08745.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=herbert@gondor.apana.org.au \
--cc=netdev@vger.kernel.org \
--cc=sri@us.ibm.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 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.