netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18
@ 2025-11-18  9:25 Steffen Klassert
  2025-11-18  9:25 ` [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS Steffen Klassert
                   ` (11 more replies)
  0 siblings, 12 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

1) Relax a lock contention bottleneck to improve IPsec crypto
   offload performance. From Jianbo Liu.

2) Deprecate pfkey, the interface will be removed in 2027.

3) Update xfrm documentation and move it to ipsec maintainance.
   From Bagas Sanjaya.

Please pull or let me know if there are problems.

Thanks!

The following changes since commit bfe62db5422b1a5f25752bd0877a097d436d876d:

  Merge branch 'dwmac-support-for-rockchip-rk3506' (2025-10-24 19:07:48 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git tags/ipsec-next-2025-11-18

for you to fetch changes up to 939ba8c5b81cbaf37781d7aa4849170860124a5e:

  MAINTAINERS: Add entry for XFRM documentation (2025-11-12 08:30:03 +0100)

----------------------------------------------------------------
ipsec-next-2025-11-18

----------------------------------------------------------------
Bagas Sanjaya (9):
      Documentation: xfrm_device: Wrap iproute2 snippets in literal code block
      Documentation: xfrm_device: Use numbered list for offloading steps
      Documentation: xfrm_device: Separate hardware offload sublists
      Documentation: xfrm_sync: Properly reindent list text
      Documentation: xfrm_sync: Trim excess section heading characters
      Documentation: xfrm_sysctl: Trim trailing colon in section heading
      Documentation: xfrm_sync: Number the fifth section
      net: Move XFRM documentation into its own subdirectory
      MAINTAINERS: Add entry for XFRM documentation

Jianbo Liu (2):
      xfrm: Refactor xfrm_input lock to reduce contention with RSS
      xfrm: Skip redundant replay recheck for the hardware offload path

Steffen Klassert (2):
      Merge branch 'xfrm: IPsec hardware offload performance improvements'
      pfkey: Deprecate pfkey

 Documentation/networking/index.rst                 |  5 +-
 Documentation/networking/xfrm/index.rst            | 13 +++
 .../networking/{ => xfrm}/xfrm_device.rst          | 20 +++--
 Documentation/networking/{ => xfrm}/xfrm_proc.rst  |  0
 Documentation/networking/{ => xfrm}/xfrm_sync.rst  | 97 +++++++++++-----------
 .../networking/{ => xfrm}/xfrm_sysctl.rst          |  4 +-
 MAINTAINERS                                        |  1 +
 net/key/af_key.c                                   |  2 +
 net/xfrm/Kconfig                                   | 11 ++-
 net/xfrm/xfrm_input.c                              | 30 +++----
 10 files changed, 103 insertions(+), 80 deletions(-)
 create mode 100644 Documentation/networking/xfrm/index.rst
 rename Documentation/networking/{ => xfrm}/xfrm_device.rst (95%)
 rename Documentation/networking/{ => xfrm}/xfrm_proc.rst (100%)
 rename Documentation/networking/{ => xfrm}/xfrm_sync.rst (64%)
 rename Documentation/networking/{ => xfrm}/xfrm_sysctl.rst (68%)

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

* [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-19  2:00   ` patchwork-bot+netdevbpf
  2025-11-18  9:25 ` [PATCH 02/12] xfrm: Skip redundant replay recheck for the hardware offload path Steffen Klassert
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Jianbo Liu <jianbol@nvidia.com>

With newer NICs like mlx5 supporting RSS for IPsec crypto offload,
packets for a single Security Association (SA) are scattered across
multiple CPU cores for parallel processing. The xfrm_state spinlock
(x->lock) is held for each packet during xfrm processing.

When multiple connections or flows share the same SA, this parallelism
causes high lock contention on x->lock, creating a performance
bottleneck and limiting scalability.

The original xfrm_input() function exacerbated this issue by releasing
and immediately re-acquiring x->lock. For hardware crypto offload
paths, this unlock/relock sequence is unnecessary and introduces
significant overhead. This patch refactors the function to relocate
the type_offload->input_tail call for the offload path, performing all
necessary work while continuously holding the lock. This reordering is
safe, since packets which don't pass the checks below will still fail
them with the new code.

Performance testing with iperf using multiple parallel streams over a
single IPsec SA shows significant improvement in throughput as the
number of queues (and thus CPU cores) increases:

+-----------+---------------+--------------+-----------------+
| RX queues | Before (Gbps) | After (Gbps) | Improvement (%) |
+-----------+---------------+--------------+-----------------+
|         2 |          32.3 |         34.4 |             6.5 |
|         4 |          34.4 |         40.0 |            16.3 |
|         6 |          24.5 |         38.3 |            56.3 |
|         8 |          23.1 |         38.3 |            65.8 |
|        12 |          18.1 |         29.9 |            65.2 |
|        16 |          16.0 |         25.2 |            57.5 |
+-----------+---------------+--------------+-----------------+

Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 net/xfrm/xfrm_input.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index c9ddef869aa5..257935cbd221 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -505,6 +505,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			async = 1;
 			dev_put(skb->dev);
 			seq = XFRM_SKB_CB(skb)->seq.input.low;
+			spin_lock(&x->lock);
 			goto resume;
 		}
 		/* GRO call */
@@ -541,6 +542,8 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 				XFRM_INC_STATS(net, LINUX_MIB_XFRMINHDRERROR);
 				goto drop;
 			}
+
+			nexthdr = x->type_offload->input_tail(x, skb);
 		}
 
 		goto lock;
@@ -638,11 +641,9 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			goto drop_unlock;
 		}
 
-		spin_unlock(&x->lock);
-
 		if (xfrm_tunnel_check(skb, x, family)) {
 			XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATEMODEERROR);
-			goto drop;
+			goto drop_unlock;
 		}
 
 		seq_hi = htonl(xfrm_replay_seqhi(x, seq));
@@ -650,9 +651,8 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 		XFRM_SKB_CB(skb)->seq.input.low = seq;
 		XFRM_SKB_CB(skb)->seq.input.hi = seq_hi;
 
-		if (crypto_done) {
-			nexthdr = x->type_offload->input_tail(x, skb);
-		} else {
+		if (!crypto_done) {
+			spin_unlock(&x->lock);
 			dev_hold(skb->dev);
 
 			nexthdr = x->type->input(x, skb);
@@ -660,9 +660,9 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 				return 0;
 
 			dev_put(skb->dev);
+			spin_lock(&x->lock);
 		}
 resume:
-		spin_lock(&x->lock);
 		if (nexthdr < 0) {
 			if (nexthdr == -EBADMSG) {
 				xfrm_audit_state_icvfail(x, skb,
-- 
2.43.0


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

* [PATCH 02/12] xfrm: Skip redundant replay recheck for the hardware offload path
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
  2025-11-18  9:25 ` [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 03/12] pfkey: Deprecate pfkey Steffen Klassert
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Jianbo Liu <jianbol@nvidia.com>

The xfrm_replay_recheck() function was introduced to handle the issues
arising from asynchronous crypto algorithms.

The crypto offload path is now effectively synchronous, as it holds
the state lock throughout its operation. This eliminates the race
condition, making the recheck an unnecessary overhead. This patch
improves performance by skipping the redundant call when
crypto_done is true.

Additionally, the sequence number assignment is moved to an earlier
point in the function. This improves performance by reducing lock
contention and places the logic at a more appropriate point, as the
full sequence number (including the higher-order bits) can be
determined as soon as the packet is received.

Signed-off-by: Jianbo Liu <jianbol@nvidia.com>
Reviewed-by: Cosmin Ratiu <cratiu@nvidia.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 net/xfrm/xfrm_input.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/net/xfrm/xfrm_input.c b/net/xfrm/xfrm_input.c
index 257935cbd221..4ed346e682c7 100644
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
@@ -546,7 +546,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			nexthdr = x->type_offload->input_tail(x, skb);
 		}
 
-		goto lock;
+		goto process;
 	}
 
 	family = XFRM_SPI_SKB_CB(skb)->family;
@@ -614,7 +614,12 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			goto drop;
 		}
 
-lock:
+process:
+		seq_hi = htonl(xfrm_replay_seqhi(x, seq));
+
+		XFRM_SKB_CB(skb)->seq.input.low = seq;
+		XFRM_SKB_CB(skb)->seq.input.hi = seq_hi;
+
 		spin_lock(&x->lock);
 
 		if (unlikely(x->km.state != XFRM_STATE_VALID)) {
@@ -646,11 +651,6 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 			goto drop_unlock;
 		}
 
-		seq_hi = htonl(xfrm_replay_seqhi(x, seq));
-
-		XFRM_SKB_CB(skb)->seq.input.low = seq;
-		XFRM_SKB_CB(skb)->seq.input.hi = seq_hi;
-
 		if (!crypto_done) {
 			spin_unlock(&x->lock);
 			dev_hold(skb->dev);
@@ -676,7 +676,7 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
 		/* only the first xfrm gets the encap type */
 		encap_type = 0;
 
-		if (xfrm_replay_recheck(x, skb, seq)) {
+		if (!crypto_done && xfrm_replay_recheck(x, skb, seq)) {
 			XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATESEQERROR);
 			goto drop_unlock;
 		}
-- 
2.43.0


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

* [PATCH 03/12] pfkey: Deprecate pfkey
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
  2025-11-18  9:25 ` [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS Steffen Klassert
  2025-11-18  9:25 ` [PATCH 02/12] xfrm: Skip redundant replay recheck for the hardware offload path Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 04/12] Documentation: xfrm_device: Wrap iproute2 snippets in literal code block Steffen Klassert
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

The pfkey user configuration interface was replaced by the netlink
user configuration interface more than a decade ago. In between
all maintained IKE implementations moved to the netlink interface.
So let config NET_KEY default to no in Kconfig. The pfkey code
will be removed in a second step.

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
Reviewed-by: Sabrina Dubroca <sd@queasysnail.net>
Acked-by: Antony Antony <antony.antony@secunet.com>
Acked-by: Tobias Brunner <tobias@strongswan.org>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: Tuomo Soini <tis@foobar.fi>
Acked-by: Paul Wouters <paul@nohats.ca>
---
 net/key/af_key.c |  2 ++
 net/xfrm/Kconfig | 11 +++++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/net/key/af_key.c b/net/key/af_key.c
index 2ebde0352245..571200433aa9 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -3903,6 +3903,8 @@ static int __init ipsec_pfkey_init(void)
 {
 	int err = proto_register(&key_proto, 0);
 
+	pr_warn_once("PFKEY is deprecated and scheduled to be removed in 2027, "
+	             "please contact the netdev mailing list\n");
 	if (err != 0)
 		goto out;
 
diff --git a/net/xfrm/Kconfig b/net/xfrm/Kconfig
index f0157702718f..4a62817a88f8 100644
--- a/net/xfrm/Kconfig
+++ b/net/xfrm/Kconfig
@@ -110,14 +110,17 @@ config XFRM_IPCOMP
 	select CRYPTO_DEFLATE
 
 config NET_KEY
-	tristate "PF_KEY sockets"
+	tristate "PF_KEY sockets (deprecated)"
 	select XFRM_ALGO
 	help
 	  PF_KEYv2 socket family, compatible to KAME ones.
-	  They are required if you are going to use IPsec tools ported
-	  from KAME.
 
-	  Say Y unless you know what you are doing.
+	  The PF_KEYv2 socket interface is deprecated and
+	  scheduled for removal. All maintained IKE daemons
+	  no longer need PF_KEY sockets. Please use the netlink
+	  interface (XFRM_USER) to configure IPsec.
+
+	  If unsure, say N.
 
 config NET_KEY_MIGRATE
 	bool "PF_KEY MIGRATE"
-- 
2.43.0


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

* [PATCH 04/12] Documentation: xfrm_device: Wrap iproute2 snippets in literal code block
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (2 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 03/12] pfkey: Deprecate pfkey Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 05/12] Documentation: xfrm_device: Use numbered list for offloading steps Steffen Klassert
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

iproute2 snippets (ip x) are shown in long-running definition lists
instead. Format them as literal code blocks that do the semantic job
better.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_device.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm_device.rst
index 122204da0fff..7a13075b5bf0 100644
--- a/Documentation/networking/xfrm_device.rst
+++ b/Documentation/networking/xfrm_device.rst
@@ -34,7 +34,7 @@ Right now, there are two types of hardware offload that kernel supports.
 Userland access to the offload is typically through a system such as
 libreswan or KAME/raccoon, but the iproute2 'ip xfrm' command set can
 be handy when experimenting.  An example command might look something
-like this for crypto offload:
+like this for crypto offload::
 
   ip x s add proto esp dst 14.0.0.70 src 14.0.0.52 spi 0x07 mode transport \
      reqid 0x07 replay-window 32 \
@@ -42,7 +42,7 @@ like this for crypto offload:
      sel src 14.0.0.52/24 dst 14.0.0.70/24 proto tcp \
      offload dev eth4 dir in
 
-and for packet offload
+and for packet offload::
 
   ip x s add proto esp dst 14.0.0.70 src 14.0.0.52 spi 0x07 mode transport \
      reqid 0x07 replay-window 32 \
-- 
2.43.0


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

* [PATCH 05/12] Documentation: xfrm_device: Use numbered list for offloading steps
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (3 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 04/12] Documentation: xfrm_device: Wrap iproute2 snippets in literal code block Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 06/12] Documentation: xfrm_device: Separate hardware offload sublists Steffen Klassert
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

Format xfrm offloading steps as numbered list.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_device.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm_device.rst
index 7a13075b5bf0..86db3f42552d 100644
--- a/Documentation/networking/xfrm_device.rst
+++ b/Documentation/networking/xfrm_device.rst
@@ -153,26 +153,26 @@ the packet's skb.  At this point the data should be decrypted but the
 IPsec headers are still in the packet data; they are removed later up
 the stack in xfrm_input().
 
-	find and hold the SA that was used to the Rx skb::
+1. Find and hold the SA that was used to the Rx skb::
 
-		get spi, protocol, and destination IP from packet headers
+		/* get spi, protocol, and destination IP from packet headers */
 		xs = find xs from (spi, protocol, dest_IP)
 		xfrm_state_hold(xs);
 
-	store the state information into the skb::
+2. Store the state information into the skb::
 
 		sp = secpath_set(skb);
 		if (!sp) return;
 		sp->xvec[sp->len++] = xs;
 		sp->olen++;
 
-	indicate the success and/or error status of the offload::
+3. Indicate the success and/or error status of the offload::
 
 		xo = xfrm_offload(skb);
 		xo->flags = CRYPTO_DONE;
 		xo->status = crypto_status;
 
-	hand the packet to napi_gro_receive() as usual
+4. Hand the packet to napi_gro_receive() as usual.
 
 In ESN mode, xdo_dev_state_advance_esn() is called from
 xfrm_replay_advance_esn() for RX, and xfrm_replay_overflow_offload_esn for TX.
-- 
2.43.0


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

* [PATCH 06/12] Documentation: xfrm_device: Separate hardware offload sublists
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (4 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 05/12] Documentation: xfrm_device: Use numbered list for offloading steps Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 07/12] Documentation: xfrm_sync: Properly reindent list text Steffen Klassert
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

Sublists of hardware offload type lists are rendered in combined
paragraph due to lack of separator from their parent list. Add it.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_device.rst | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm_device.rst
index 86db3f42552d..b0d85a5f57d1 100644
--- a/Documentation/networking/xfrm_device.rst
+++ b/Documentation/networking/xfrm_device.rst
@@ -20,11 +20,15 @@ can radically increase throughput and decrease CPU utilization.  The XFRM
 Device interface allows NIC drivers to offer to the stack access to the
 hardware offload.
 
-Right now, there are two types of hardware offload that kernel supports.
+Right now, there are two types of hardware offload that kernel supports:
+
  * IPsec crypto offload:
+
    * NIC performs encrypt/decrypt
    * Kernel does everything else
+
  * IPsec packet offload:
+
    * NIC performs encrypt/decrypt
    * NIC does encapsulation
    * Kernel and NIC have SA and policy in-sync
-- 
2.43.0


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

* [PATCH 07/12] Documentation: xfrm_sync: Properly reindent list text
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (5 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 06/12] Documentation: xfrm_device: Separate hardware offload sublists Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 08/12] Documentation: xfrm_sync: Trim excess section heading characters Steffen Klassert
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

List texts are currently aligned at the start of column, rather than
after the list marker. Reindent them.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_sync.rst | 77 +++++++++++++-------------
 1 file changed, 40 insertions(+), 37 deletions(-)

diff --git a/Documentation/networking/xfrm_sync.rst b/Documentation/networking/xfrm_sync.rst
index 6246503ceab2..c811c3edfa57 100644
--- a/Documentation/networking/xfrm_sync.rst
+++ b/Documentation/networking/xfrm_sync.rst
@@ -88,23 +88,23 @@ to get notified of these events.
 
 a) byte value (XFRMA_LTIME_VAL)
 
-This TLV carries the running/current counter for byte lifetime since
-last event.
+   This TLV carries the running/current counter for byte lifetime since
+   last event.
 
-b)replay value (XFRMA_REPLAY_VAL)
+b) replay value (XFRMA_REPLAY_VAL)
 
-This TLV carries the running/current counter for replay sequence since
-last event.
+   This TLV carries the running/current counter for replay sequence since
+   last event.
 
-c)replay threshold (XFRMA_REPLAY_THRESH)
+c) replay threshold (XFRMA_REPLAY_THRESH)
 
-This TLV carries the threshold being used by the kernel to trigger events
-when the replay sequence is exceeded.
+   This TLV carries the threshold being used by the kernel to trigger events
+   when the replay sequence is exceeded.
 
 d) expiry timer (XFRMA_ETIMER_THRESH)
 
-This is a timer value in milliseconds which is used as the nagle
-value to rate limit the events.
+   This is a timer value in milliseconds which is used as the nagle
+   value to rate limit the events.
 
 3) Default configurations for the parameters:
 ---------------------------------------------
@@ -121,12 +121,14 @@ in case they are not specified.
 the two sysctls/proc entries are:
 
 a) /proc/sys/net/core/sysctl_xfrm_aevent_etime
-used to provide default values for the XFRMA_ETIMER_THRESH in incremental
-units of time of 100ms. The default is 10 (1 second)
+
+   Used to provide default values for the XFRMA_ETIMER_THRESH in incremental
+   units of time of 100ms. The default is 10 (1 second)
 
 b) /proc/sys/net/core/sysctl_xfrm_aevent_rseqth
-used to provide default values for XFRMA_REPLAY_THRESH parameter
-in incremental packet count. The default is two packets.
+
+   Used to provide default values for XFRMA_REPLAY_THRESH parameter
+   in incremental packet count. The default is two packets.
 
 4) Message types
 ----------------
@@ -134,42 +136,43 @@ in incremental packet count. The default is two packets.
 a) XFRM_MSG_GETAE issued by user-->kernel.
    XFRM_MSG_GETAE does not carry any TLVs.
 
-The response is a XFRM_MSG_NEWAE which is formatted based on what
-XFRM_MSG_GETAE queried for.
+   The response is a XFRM_MSG_NEWAE which is formatted based on what
+   XFRM_MSG_GETAE queried for.
+
+   The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
 
-The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
-* if XFRM_AE_RTHR flag is set, then XFRMA_REPLAY_THRESH is also retrieved
-* if XFRM_AE_ETHR flag is set, then XFRMA_ETIMER_THRESH is also retrieved
+     * if XFRM_AE_RTHR flag is set, then XFRMA_REPLAY_THRESH is also retrieved
+     * if XFRM_AE_ETHR flag is set, then XFRMA_ETIMER_THRESH is also retrieved
 
 b) XFRM_MSG_NEWAE is issued by either user space to configure
    or kernel to announce events or respond to a XFRM_MSG_GETAE.
 
-i) user --> kernel to configure a specific SA.
+   i) user --> kernel to configure a specific SA.
 
-any of the values or threshold parameters can be updated by passing the
-appropriate TLV.
+      any of the values or threshold parameters can be updated by passing the
+      appropriate TLV.
 
-A response is issued back to the sender in user space to indicate success
-or failure.
+      A response is issued back to the sender in user space to indicate success
+      or failure.
 
-In the case of success, additionally an event with
-XFRM_MSG_NEWAE is also issued to any listeners as described in iii).
+      In the case of success, additionally an event with
+      XFRM_MSG_NEWAE is also issued to any listeners as described in iii).
 
-ii) kernel->user direction as a response to XFRM_MSG_GETAE
+   ii) kernel->user direction as a response to XFRM_MSG_GETAE
 
-The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
+       The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
 
-The threshold TLVs will be included if explicitly requested in
-the XFRM_MSG_GETAE message.
+       The threshold TLVs will be included if explicitly requested in
+       the XFRM_MSG_GETAE message.
 
-iii) kernel->user to report as event if someone sets any values or
-     thresholds for an SA using XFRM_MSG_NEWAE (as described in #i above).
-     In such a case XFRM_AE_CU flag is set to inform the user that
-     the change happened as a result of an update.
-     The message will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
+   iii) kernel->user to report as event if someone sets any values or
+        thresholds for an SA using XFRM_MSG_NEWAE (as described in #i above).
+        In such a case XFRM_AE_CU flag is set to inform the user that
+        the change happened as a result of an update.
+        The message will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
 
-iv) kernel->user to report event when replay threshold or a timeout
-    is exceeded.
+   iv) kernel->user to report event when replay threshold or a timeout
+       is exceeded.
 
 In such a case either XFRM_AE_CR (replay exceeded) or XFRM_AE_CE (timeout
 happened) is set to inform the user what happened.
-- 
2.43.0


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

* [PATCH 08/12] Documentation: xfrm_sync: Trim excess section heading characters
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (6 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 07/12] Documentation: xfrm_sync: Properly reindent list text Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 09/12] Documentation: xfrm_sysctl: Trim trailing colon in section heading Steffen Klassert
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

The first section "Message Structure" has excess underline, while the
second and third one ("TLVS reflect the different parameters" and
"Default configurations for the parameters") have trailing colon. Trim
them.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_sync.rst | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/Documentation/networking/xfrm_sync.rst b/Documentation/networking/xfrm_sync.rst
index c811c3edfa57..de4da4707037 100644
--- a/Documentation/networking/xfrm_sync.rst
+++ b/Documentation/networking/xfrm_sync.rst
@@ -36,7 +36,7 @@ is not driven by packet arrival.
 - the replay sequence for both inbound and outbound
 
 1) Message Structure
-----------------------
+--------------------
 
 nlmsghdr:aevent_id:optional-TLVs.
 
@@ -83,8 +83,8 @@ when going from kernel to user space)
 A program needs to subscribe to multicast group XFRMNLGRP_AEVENTS
 to get notified of these events.
 
-2) TLVS reflect the different parameters:
------------------------------------------
+2) TLVS reflect the different parameters
+----------------------------------------
 
 a) byte value (XFRMA_LTIME_VAL)
 
@@ -106,8 +106,8 @@ d) expiry timer (XFRMA_ETIMER_THRESH)
    This is a timer value in milliseconds which is used as the nagle
    value to rate limit the events.
 
-3) Default configurations for the parameters:
----------------------------------------------
+3) Default configurations for the parameters
+--------------------------------------------
 
 By default these events should be turned off unless there is
 at least one listener registered to listen to the multicast
-- 
2.43.0


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

* [PATCH 09/12] Documentation: xfrm_sysctl: Trim trailing colon in section heading
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (7 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 08/12] Documentation: xfrm_sync: Trim excess section heading characters Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 10/12] Documentation: xfrm_sync: Number the fifth section Steffen Klassert
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

The sole section heading ("/proc/sys/net/core/xfrm_* Variables") has
trailing colon. Trim it.

Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_sysctl.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/xfrm_sysctl.rst b/Documentation/networking/xfrm_sysctl.rst
index 47b9bbdd0179..7d0c4b17c0bd 100644
--- a/Documentation/networking/xfrm_sysctl.rst
+++ b/Documentation/networking/xfrm_sysctl.rst
@@ -4,8 +4,8 @@
 XFRM Syscall
 ============
 
-/proc/sys/net/core/xfrm_* Variables:
-====================================
+/proc/sys/net/core/xfrm_* Variables
+===================================
 
 xfrm_acq_expires - INTEGER
 	default 30 - hard timeout in seconds for acquire requests
-- 
2.43.0


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

* [PATCH 10/12] Documentation: xfrm_sync: Number the fifth section
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (8 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 09/12] Documentation: xfrm_sysctl: Trim trailing colon in section heading Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 11/12] net: Move XFRM documentation into its own subdirectory Steffen Klassert
  2025-11-18  9:25 ` [PATCH 12/12] MAINTAINERS: Add entry for XFRM documentation Steffen Klassert
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

Number the fifth section ("Exception to threshold settings") to be
consistent with the rest of sections.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/xfrm_sync.rst | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/xfrm_sync.rst b/Documentation/networking/xfrm_sync.rst
index de4da4707037..112f7c102ad0 100644
--- a/Documentation/networking/xfrm_sync.rst
+++ b/Documentation/networking/xfrm_sync.rst
@@ -179,8 +179,8 @@ happened) is set to inform the user what happened.
 Note the two flags are mutually exclusive.
 The message will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs.
 
-Exceptions to threshold settings
---------------------------------
+5) Exceptions to threshold settings
+-----------------------------------
 
 If you have an SA that is getting hit by traffic in bursts such that
 there is a period where the timer threshold expires with no packets
-- 
2.43.0


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

* [PATCH 11/12] net: Move XFRM documentation into its own subdirectory
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (9 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 10/12] Documentation: xfrm_sync: Number the fifth section Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  2025-11-18  9:25 ` [PATCH 12/12] MAINTAINERS: Add entry for XFRM documentation Steffen Klassert
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

XFRM docs are currently reside in Documentation/networking directory,
yet these are distinctive as a group of their own. Move them into xfrm
subdirectory.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 Documentation/networking/index.rst                  |  5 +----
 Documentation/networking/xfrm/index.rst             | 13 +++++++++++++
 Documentation/networking/{ => xfrm}/xfrm_device.rst |  0
 Documentation/networking/{ => xfrm}/xfrm_proc.rst   |  0
 Documentation/networking/{ => xfrm}/xfrm_sync.rst   |  6 +++---
 Documentation/networking/{ => xfrm}/xfrm_sysctl.rst |  0
 6 files changed, 17 insertions(+), 7 deletions(-)
 create mode 100644 Documentation/networking/xfrm/index.rst
 rename Documentation/networking/{ => xfrm}/xfrm_device.rst (100%)
 rename Documentation/networking/{ => xfrm}/xfrm_proc.rst (100%)
 rename Documentation/networking/{ => xfrm}/xfrm_sync.rst (99%)
 rename Documentation/networking/{ => xfrm}/xfrm_sysctl.rst (100%)

diff --git a/Documentation/networking/index.rst b/Documentation/networking/index.rst
index c775cababc8c..75db2251649b 100644
--- a/Documentation/networking/index.rst
+++ b/Documentation/networking/index.rst
@@ -131,10 +131,7 @@ Contents:
    vxlan
    x25
    x25-iface
-   xfrm_device
-   xfrm_proc
-   xfrm_sync
-   xfrm_sysctl
+   xfrm/index
    xdp-rx-metadata
    xsk-tx-metadata
 
diff --git a/Documentation/networking/xfrm/index.rst b/Documentation/networking/xfrm/index.rst
new file mode 100644
index 000000000000..7d866da836fe
--- /dev/null
+++ b/Documentation/networking/xfrm/index.rst
@@ -0,0 +1,13 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+==============
+XFRM Framework
+==============
+
+.. toctree::
+   :maxdepth: 2
+
+   xfrm_device
+   xfrm_proc
+   xfrm_sync
+   xfrm_sysctl
diff --git a/Documentation/networking/xfrm_device.rst b/Documentation/networking/xfrm/xfrm_device.rst
similarity index 100%
rename from Documentation/networking/xfrm_device.rst
rename to Documentation/networking/xfrm/xfrm_device.rst
diff --git a/Documentation/networking/xfrm_proc.rst b/Documentation/networking/xfrm/xfrm_proc.rst
similarity index 100%
rename from Documentation/networking/xfrm_proc.rst
rename to Documentation/networking/xfrm/xfrm_proc.rst
diff --git a/Documentation/networking/xfrm_sync.rst b/Documentation/networking/xfrm/xfrm_sync.rst
similarity index 99%
rename from Documentation/networking/xfrm_sync.rst
rename to Documentation/networking/xfrm/xfrm_sync.rst
index 112f7c102ad0..dfc2ec0df380 100644
--- a/Documentation/networking/xfrm_sync.rst
+++ b/Documentation/networking/xfrm/xfrm_sync.rst
@@ -1,8 +1,8 @@
 .. SPDX-License-Identifier: GPL-2.0
 
-====
-XFRM
-====
+=========
+XFRM sync
+=========
 
 The sync patches work is based on initial patches from
 Krisztian <hidden@balabit.hu> and others and additional patches
diff --git a/Documentation/networking/xfrm_sysctl.rst b/Documentation/networking/xfrm/xfrm_sysctl.rst
similarity index 100%
rename from Documentation/networking/xfrm_sysctl.rst
rename to Documentation/networking/xfrm/xfrm_sysctl.rst
-- 
2.43.0


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

* [PATCH 12/12] MAINTAINERS: Add entry for XFRM documentation
  2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
                   ` (10 preceding siblings ...)
  2025-11-18  9:25 ` [PATCH 11/12] net: Move XFRM documentation into its own subdirectory Steffen Klassert
@ 2025-11-18  9:25 ` Steffen Klassert
  11 siblings, 0 replies; 14+ messages in thread
From: Steffen Klassert @ 2025-11-18  9:25 UTC (permalink / raw)
  To: David Miller, Jakub Kicinski; +Cc: Herbert Xu, Steffen Klassert, netdev

From: Bagas Sanjaya <bagasdotme@gmail.com>

XFRM patches are supposed to be sent to maintainers under "NETWORKING
[IPSEC]" heading, but it doesn't cover XFRM docs yet. Add the entry.

Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index d652f4f27756..4f33daad40be 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -18041,6 +18041,7 @@ L:	netdev@vger.kernel.org
 S:	Maintained
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec.git
 T:	git git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git
+F:	Documentation/networking/xfrm/
 F:	include/net/xfrm.h
 F:	include/uapi/linux/xfrm.h
 F:	net/ipv4/ah4.c
-- 
2.43.0


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

* Re: [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS
  2025-11-18  9:25 ` [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS Steffen Klassert
@ 2025-11-19  2:00   ` patchwork-bot+netdevbpf
  0 siblings, 0 replies; 14+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-11-19  2:00 UTC (permalink / raw)
  To: Steffen Klassert; +Cc: davem, kuba, herbert, netdev

Hello:

This series was applied to netdev/net-next.git (main)
by Steffen Klassert <steffen.klassert@secunet.com>:

On Tue, 18 Nov 2025 10:25:38 +0100 you wrote:
> From: Jianbo Liu <jianbol@nvidia.com>
> 
> With newer NICs like mlx5 supporting RSS for IPsec crypto offload,
> packets for a single Security Association (SA) are scattered across
> multiple CPU cores for parallel processing. The xfrm_state spinlock
> (x->lock) is held for each packet during xfrm processing.
> 
> [...]

Here is the summary with links:
  - [01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS
    https://git.kernel.org/netdev/net-next/c/10a118619439
  - [02/12] xfrm: Skip redundant replay recheck for the hardware offload path
    https://git.kernel.org/netdev/net-next/c/b427c0c3bc40
  - [03/12] pfkey: Deprecate pfkey
    https://git.kernel.org/netdev/net-next/c/6b3b6e59c4f8
  - [04/12] Documentation: xfrm_device: Wrap iproute2 snippets in literal code block
    https://git.kernel.org/netdev/net-next/c/68ec5df1d894
  - [05/12] Documentation: xfrm_device: Use numbered list for offloading steps
    https://git.kernel.org/netdev/net-next/c/340e2a738665
  - [06/12] Documentation: xfrm_device: Separate hardware offload sublists
    https://git.kernel.org/netdev/net-next/c/840188d276a3
  - [07/12] Documentation: xfrm_sync: Properly reindent list text
    https://git.kernel.org/netdev/net-next/c/a397b259c173
  - [08/12] Documentation: xfrm_sync: Trim excess section heading characters
    https://git.kernel.org/netdev/net-next/c/01ad7831fbb2
  - [09/12] Documentation: xfrm_sysctl: Trim trailing colon in section heading
    https://git.kernel.org/netdev/net-next/c/c08b786b8295
  - [10/12] Documentation: xfrm_sync: Number the fifth section
    https://git.kernel.org/netdev/net-next/c/7276e7ae569b
  - [11/12] net: Move XFRM documentation into its own subdirectory
    https://git.kernel.org/netdev/net-next/c/03e23b18c720
  - [12/12] MAINTAINERS: Add entry for XFRM documentation
    https://git.kernel.org/netdev/net-next/c/939ba8c5b81c

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



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

end of thread, other threads:[~2025-11-19  2:00 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-18  9:25 [PATCH 0/12] pull request (net-next): ipsec-next 2025-11-18 Steffen Klassert
2025-11-18  9:25 ` [PATCH 01/12] xfrm: Refactor xfrm_input lock to reduce contention with RSS Steffen Klassert
2025-11-19  2:00   ` patchwork-bot+netdevbpf
2025-11-18  9:25 ` [PATCH 02/12] xfrm: Skip redundant replay recheck for the hardware offload path Steffen Klassert
2025-11-18  9:25 ` [PATCH 03/12] pfkey: Deprecate pfkey Steffen Klassert
2025-11-18  9:25 ` [PATCH 04/12] Documentation: xfrm_device: Wrap iproute2 snippets in literal code block Steffen Klassert
2025-11-18  9:25 ` [PATCH 05/12] Documentation: xfrm_device: Use numbered list for offloading steps Steffen Klassert
2025-11-18  9:25 ` [PATCH 06/12] Documentation: xfrm_device: Separate hardware offload sublists Steffen Klassert
2025-11-18  9:25 ` [PATCH 07/12] Documentation: xfrm_sync: Properly reindent list text Steffen Klassert
2025-11-18  9:25 ` [PATCH 08/12] Documentation: xfrm_sync: Trim excess section heading characters Steffen Klassert
2025-11-18  9:25 ` [PATCH 09/12] Documentation: xfrm_sysctl: Trim trailing colon in section heading Steffen Klassert
2025-11-18  9:25 ` [PATCH 10/12] Documentation: xfrm_sync: Number the fifth section Steffen Klassert
2025-11-18  9:25 ` [PATCH 11/12] net: Move XFRM documentation into its own subdirectory Steffen Klassert
2025-11-18  9:25 ` [PATCH 12/12] MAINTAINERS: Add entry for XFRM documentation 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).