lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 28 Jan 2016 17:30:24 +0000
From:	David Laight <David.Laight@...LAB.COM>
To:	'Marcelo Ricardo Leitner' <marcelo.leitner@...il.com>
CC:	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	Neil Horman <nhorman@...driver.com>,
	Vlad Yasevich <vyasevich@...il.com>,
	David Miller <davem@...emloft.net>,
	"brouer@...hat.com" <brouer@...hat.com>,
	"alexander.duyck@...il.com" <alexander.duyck@...il.com>,
	"alexei.starovoitov@...il.com" <alexei.starovoitov@...il.com>,
	"borkmann@...earbox.net" <borkmann@...earbox.net>,
	"marek@...udflare.com" <marek@...udflare.com>,
	"hannes@...essinduktion.org" <hannes@...essinduktion.org>,
	"fw@...len.de" <fw@...len.de>,
	"pabeni@...hat.com" <pabeni@...hat.com>,
	"john.r.fastabend@...el.com" <john.r.fastabend@...el.com>,
	"linux-sctp@...r.kernel.org" <linux-sctp@...r.kernel.org>
Subject: RE: [RFC PATCH net-next 0/3] sctp: add GSO support

From: 'Marcelo Ricardo Leitner'
> Sent: 28 January 2016 15:53
> On Thu, Jan 28, 2016 at 01:51:02PM +0000, David Laight wrote:
> > From: Marcelo Ricardo Leitner
> > > Sent: 27 January 2016 17:07
> > > This patchset is merely a RFC for the moment. There are some
> > > controversial points that I'd like to discuss before actually proposing
> > > the patches.
> >
> > You also need to look at how a 'user' can actually get SCTP to
> > merge data chunks in the first place.
> >
> > With Nagle disabled (and it probably has to be since the data flow
> > is unlikely to be 'command-response' or 'unidirectional bulk')
> > it is currently almost impossible to get more than one chunk
> > into an ethernet frame.
> >
> > Support for MSG_MORE would help.
> >
> > Given the current implementation you can get almost the required
> > behaviour by turning nagle off and on repeatedly.
> 
> That's pretty much expected, I think. Without Nagle, if bandwidth and
> cwnd allow, segment will be sent. GSO by itself shouldn't cause a
> buffering to protect from that.
> 
> If something causes a bottleneck, tx may get queue up.  Like if I do a
> stress test in my system, generally receiver side is slower than sender,
> so I end up having tx buffers pretty easily. It mimics bandwidth
> restrictions.

Imagine a using M2UA to connect local machines (one running mtp3, the other mtp2).
Configure two linksets of 16 signalling links and perform a double-reflect
loopback test.
The SCTP connection won't ever saturate, so every msu ends up in its own
ethernet packet.
It is easy to generate 1000's of ethernet frames/sec on a single connection.

(We do this with something not entirely quite like M2UA over TCP,
even then it is very hard to get multiple message into a single
ethernet frame.)


> There is also the case of sending large data chunks, where
> sctp_sendmsg() will segment it into smaller chunks already.

I presume they are merged before being passed to the receiving socket?

> But yes, agreed, MSG_MORE is at least a welcomed compliment here,
> specially for applications generating a train of chunks. Will put that in
> my ToDo here, thanks.

I've posted a patch in the past for MSG_MORE, didn't quite work.

> > I did wonder whether the queued data could actually be picked up
> > be a Heartbeat chunk that is probing a different remote address
> > (which would be bad news).
> 
> I don't follow. You mean if a heartbeat may get stuck in queue or if
> sending of a heartbeat can end up carrying additional data by accident?

My suspicion was that the heartbeat would carry the queued data.

	David

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ