All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tom Herbert <therbert@google.com>
To: Vincent JARDIN <vincent.jardin@6wind.com>
Cc: Jesse Gross <jesse@nicira.com>,
	Pravin Shelar <pshelar@nicira.com>,
	David Miller <davem@davemloft.net>,
	Linux Netdev List <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 0/3] openvswitch: Add STT support.
Date: Thu, 22 Jan 2015 08:24:15 -0800	[thread overview]
Message-ID: <CA+mtBx9pnkJBVftqFTK6fcd-toAxsJrvB=drTxWQs_=5s9C0+A@mail.gmail.com> (raw)
In-Reply-To: <54C03A57.4080002@6wind.com>

On Wed, Jan 21, 2015 at 3:46 PM, Vincent JARDIN
<vincent.jardin@6wind.com> wrote:
> Jesse, Tom,
>
> On 21/01/2015 23:14, Jesse Gross wrote:
>>>
>>> I'm not going to try to draw conclusions from data which is obviously
>>> >biased and incomplete. If you want to move forward on this, then just
>>> >provide network interface for STT so we can independently run our own
>>> >comparisons against other encapsulations like we've been doing all
>>> >along.
>>
>> You have the source code, so you are totally free to run whatever
>> tests you like to draw your own conclusions. Personally, I find a more
>> than doubling of performance in the environments that I have seen
>> compelling. Your mileage may vary.
>
>
> +1 for STT in the kernel:
>   - whatever the performances, it is needed because it happened to be used.

Vincent, it's not that simple. This is not just another case of an
encapsulation protocol that we can easily ignore and filter because it
hides behind a UDP port or even a new protocol number. This is adding
a new definition to *the* most critical protocol on the planet. I
don't see how this anyone can claim this doesn't violate a whole bunch
of long standing RFCs and break a whole bunch of baked in assumptions
we make about TCP (IP protocol number 6).

For example, TCP MUST have congestion avoidance as per RFC2581:

"The slow start and congestion avoidance algorithms MUST be used by a
TCP sender to control the amount of outstanding data being injected
into the network."

But from STT draft:

"STT segments are transmitted as IP datagrams using the TCP protocol
number (6)."-- that makes this a TCP sender.

"STT does not provide any sort of congestion control."-- that puts STT
in clear violation of RFC2581.

Congestion avoidance for TCP is not just a nice to have, it's not
optional, it's not just best effort like UDP is. There is no provision
for reusing the TCP protocol number and claiming to be exempt from
standards compliance because it's now a different protocol. We build
whole data centers around these principles, and in fact the very
operation of the Internet depends on them. For instance, if we allow
this into the kernel and this becomes available on billions of
devices, what assurances do we have that people won't start abusing
this because they find congestion avoidance annoying and this a
convenient way to bypass it?

STT is undoubtedly a creative and unique solution I'll give you that,
but the potential repercussions of allowing this to be widely deployed
are profound. IMO this needs to be fully explored before it can ever
be allowed in the kernel. If there has already been discussion on this
please forward a pointer (I didn't find anything in the IETF mailing
list archives other than the draft posting announcements), but at the
minimum these patches warrant a lot of scrutiny.

Thanks,
Tom

> If the patch can be optimized, someone will do and provide the related
> patches. The patch from Pravin is ok but...
>
>   - ...I agree with Tom, a netdevice is a must have to ack't this patch.
> Such feature should not be added into openvswitch without its counter-part
> netdevice.
>
> thank you,
>   Vincent

  reply	other threads:[~2015-01-22 16:24 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-20 20:25 [PATCH net-next 0/3] openvswitch: Add STT support Pravin B Shelar
2015-01-20 23:06 ` Tom Herbert
2015-01-21  9:08   ` Pravin Shelar
2015-01-21 16:51     ` Tom Herbert
2015-01-21 18:30       ` Pravin Shelar
2015-01-21 19:45         ` Tom Herbert
2015-01-21 20:22           ` Eric Dumazet
2015-01-21 20:35           ` Jesse Gross
2015-01-21 21:54             ` Tom Herbert
2015-01-21 22:14               ` Jesse Gross
2015-01-21 23:46                 ` Vincent JARDIN
2015-01-22 16:24                   ` Tom Herbert [this message]
2015-01-22 17:51                     ` Vincent JARDIN
2015-01-23  9:04                       ` David Miller
2015-01-23  9:00                     ` David Miller
2015-02-02 16:23             ` Tom Herbert
2015-02-02 20:39               ` Jesse Gross
2015-02-02 22:49                 ` Tom Herbert
2015-01-23 16:58 ` Tom Herbert
2015-01-23 17:38   ` Jesse Gross
2015-01-23 18:25     ` Tom Herbert
2015-01-23 20:20       ` Jesse Gross
2015-01-23 20:57         ` Tom Herbert
2015-01-23 21:11           ` Pravin Shelar
2015-02-02 16:15         ` Tom Herbert

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='CA+mtBx9pnkJBVftqFTK6fcd-toAxsJrvB=drTxWQs_=5s9C0+A@mail.gmail.com' \
    --to=therbert@google.com \
    --cc=davem@davemloft.net \
    --cc=jesse@nicira.com \
    --cc=netdev@vger.kernel.org \
    --cc=pshelar@nicira.com \
    --cc=vincent.jardin@6wind.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.