netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 ipsec-next 00/11] xfrm: remove xfrm_mode indirections
@ 2019-03-29 20:16 Florian Westphal
  2019-03-29 20:16 ` [PATCH v2 ipsec-next 01/11] xfrm: place af number into xfrm_mode struct Florian Westphal
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: Florian Westphal @ 2019-03-29 20:16 UTC (permalink / raw)
  To: netdev

This series removes all function pointers from the xfrm_mode struct.
They are either replaced by direct calls or a static helper.

This reduces code size: even merging all xfrm{4,6}_,mode* modules
into the core reduces total size, as the infrastructure to maintain
dynamic (un)register can be removed.

There are more opportunities for indirection avoidance, e.g. in
xfrm_type.  I plan to follow up once/if this series is accepted.

Tested with xfrm tunnel mode via netns with esp/aead.

I'd like thank Benedict Wong for running Android unit tests
and taking the time to bisect a tunnel mode breakage added by
v1 of this patch set.

I've addressed the comments/feedback from Sabrina and Eyal.
The kbuild robot reported build breakage in patch #8 is fixed
as well.

I've not addressed the sparse warning reported by the
kbuild robot -- those warnings are in code not touched
by this patch set.

Florian Westphal (11):
      xfrm: place af number into xfrm_mode struct
      xfrm: prefer family stored in xfrm_mode struct
      xfrm: remove input indirection from xfrm_mode
      xfrm: remove output indirection from xfrm_mode
      xfrm: remove xmit indirection from xfrm_mode
      xfrm: remove gso_segment indirection from xfrm_mode
      xfrm: remove input2 indirection from xfrm_mode
      xfrm: remove output2 indirection from xfrm_mode
      xfrm: remove afinfo pointer from xfrm_mode
      xfrm: make xfrm modes builtin
      xfrm: store xfrm_mode directly, not its address

 include/net/xfrm.h                 |  106 ++-------
 net/core/pktgen.c                  |    2 
 net/ipv4/Kconfig                   |   29 --
 net/ipv4/Makefile                  |    3 
 net/ipv4/esp4_offload.c            |   40 +++
 net/ipv4/ip_vti.c                  |    6 
 net/ipv4/xfrm4_output.c            |   27 +-
 net/ipv6/Kconfig                   |   35 ---
 net/ipv6/Makefile                  |    4 
 net/ipv6/esp6_offload.c            |   40 +++
 net/ipv6/ip6_vti.c                 |    6 
 net/ipv6/xfrm6_output.c            |   36 +--
 net/xfrm/xfrm_device.c             |   58 +++++
 net/xfrm/xfrm_inout.h              |   38 +++
 net/xfrm/xfrm_input.c              |  299 ++++++++++++++++++++++++++-
 net/xfrm/xfrm_interface.c          |    6 
 net/xfrm/xfrm_output.c             |  377 ++++++++++++++++++++++++++++++++++-
 net/xfrm/xfrm_policy.c             |   14 +
 net/xfrm/xfrm_state.c              |  181 ++++++----------
 tools/testing/selftests/net/config |    2 
 net/ipv4/xfrm4_mode_beet.c         |  155 --------------
 net/ipv4/xfrm4_mode_transport.c    |  114 ----------
 net/ipv4/xfrm4_mode_tunnel.c       |  152 --------------
 net/ipv6/xfrm6_mode_beet.c         |  131 ------------
 net/ipv6/xfrm6_mode_ro.c           |   85 -------
 net/ipv6/xfrm6_mode_transport.c    |  121 -----------
 net/ipv6/xfrm6_mode_tunnel.c       |  151 --------------
 27 files changed, 976 insertions(+), 1247 deletions(-)



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2019-04-10 11:18 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-29 20:16 [PATCH v2 ipsec-next 00/11] xfrm: remove xfrm_mode indirections Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 01/11] xfrm: place af number into xfrm_mode struct Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 02/11] xfrm: prefer family stored in " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 03/11] xfrm: remove input indirection from xfrm_mode Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 04/11] xfrm: remove output " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 05/11] xfrm: remove xmit " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 06/11] xfrm: remove gso_segment " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 07/11] xfrm: remove input2 " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 08/11] xfrm: remove output2 " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 09/11] xfrm: remove afinfo pointer " Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 10/11] xfrm: make xfrm modes builtin Florian Westphal
2019-03-29 20:16 ` [PATCH v2 ipsec-next 11/11] xfrm: store xfrm_mode directly, not its address Florian Westphal
2019-04-03  8:31 ` [PATCH v2 ipsec-next 00/11] xfrm: remove xfrm_mode indirections Sabrina Dubroca
2019-04-10 11:17 ` Steffen Klassert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).