Skip to content

sctp: Add GSO support

Marcelo Ricardo Leitner linux-sctp netdev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest7 patches 1 replyIn review
  2. v27 patches 3 repliesSuperseded
  3. v12 patches 5 repliesSuperseded

Changes in v3 from the cover letter

Consider sctphdr size in skb_gso_transport_seglen() rebased due to 5c7cdf339af5 ("gso: Remove arbitrary checks for unsupported GSO")

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7loopback: make use of NETIF_F_GSO_SOFTWAREdrivers/net/loopback.c+2 -30 replies
2/7skbuff: export skb_gro_receivenet/core/skbuff.c+1 -00 replies
3/7sk_buff: allow segmenting based on frag sizesinclude/linux/skbuff.h net/core/skbuff.c+12 -30 replies
4/7skbuff: introduce skb_gso_validate_mtuinclude/linux/skbuff.h net/core/skbuff.c net/ipv4/ip_forward.c +3 more+36 -40 replies
5/7sctp: delay as much as possible skb_linearizenet/sctp/input.c net/sctp/inqueue.c+43 -310 replies
6/7sctp: Add GSO supportinclude/linux/netdev_features.h include/linux/netdevice.h include/linux/skbuff.h +11 more+429 -1260 replies
7/7sctp: improve debug message to also log curr pkt and new chunk sizenet/sctp/output.c+2 -10 replies

Reviews trailers per patch

None of the 7 patches has a Reviewed-by or Acked-by.

PatchXin Long
1/7T-b
2/7T-b
3/7T-b
4/7T-b
5/7T-b
6/7T-b
7/7T-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/7] sctp: Add GSO support

This patchset adds sctp GSO support.

Performance tests indicates that increases throughput by 10% if using bigger chunk sizes, specially if bigger than MTU. For small chunks, it doesn't help much if not using heavy firewall rules.

For small chunks it will probably be of more use once we get something like MSG_MORE as David Laight had suggested.

overall changes:
v1->v2:
Added support for receiving GSO frames on SCTP stack, as requested by Dave Miller.

v2->v3:
Consider sctphdr size in skb_gso_transport_seglen() rebased due to 5c7cdf339af5 ("gso: Remove arbitrary checks for unsupported GSO")

Marcelo Ricardo Leitner (7):
loopback: make use of NETIF_F_GSO_SOFTWARE
skbuff: export skb_gro_receive
sk_buff: allow segmenting based on frag sizes
skbuff: introduce skb_gso_validate_mtu
sctp: delay as much as possible skb_linearize
sctp: Add GSO support
sctp: improve debug message to also log curr pkt and new chunk size

 drivers/net/loopback.c          |   5 +-
 include/linux/netdev_features.h |   7 +-
 include/linux/netdevice.h       |   1 +
 include/linux/skbuff.h          |   8 +
 include/net/sctp/sctp.h         |   4 +
 include/net/sctp/structs.h      |   5 +
 net/core/ethtool.c              |   1 +
 net/core/skbuff.c               |  45 ++++-
 net/ipv4/ip_forward.c           |   2 +-
 net/ipv4/ip_output.c            |   2 +-
 net/ipv6/ip6_output.c           |   2 +-
 net/mpls/af_mpls.c              |   2 +-
 net/sctp/Makefile               |   3 +-
 net/sctp/input.c                |  57 ++++---
 net/sctp/inqueue.c              |  78 +++++++--
 net/sctp/offload.c              |  98 +++++++++++
 net/sctp/output.c               | 366 +++++++++++++++++++++++++++-------------
 net/sctp/protocol.c             |   3 +
 net/sctp/socket.c               |   2 +
 19 files changed, 524 insertions(+), 167 deletions(-)
 create mode 100644 net/sctp/offload.c
Signature · 1 line
2.5.5