On Mon, Jun 11, 2018 at 08:29:05PM -0700, David Miller wrote: > > I would like to bring up some problems with the current GSO > implementation in SCTP. > > The most important for me right now is that SCTP uses > "skb_gro_receive()" to build "GSO" frames :-( > > Really it just ends up using the slow path (basically, label 'merge' > and onwards). > > So, using a GRO helper to build GSO packets is not great.
Okay. > > I want to make major surgery here and the only way I can is if > it is exactly the GRO demuxing path that uses skb_gro_receive(). > > Those paths pass in the list head from the NAPI struct that initiated > the GRO code paths. That makes it easy for me to change this to use a > list_head or a hash chain. > > Probably in the short term SCTP should just have a private helper that > builds the frag list, appending 'skb' to 'head'. > > In the long term, SCTP should use the page frags just like TCP to > append the data when building GSO frames. Then it could actually be > offloaded and passed into drivers without linearizing. Sounds like a plan. Shouldn't be too hard to do it. (I'm out on PTO, btw) Thanks, Marcelo