|
|
Log in / Subscribe / Register

Add IPIP flowtable SW acceleration

From:  Lorenzo Bianconi <lorenzo-AT-kernel.org>
To:  "David S. Miller" <davem-AT-davemloft.net>, David Ahern <dsahern-AT-kernel.org>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, Simon Horman <horms-AT-kernel.org>, Pablo Neira Ayuso <pablo-AT-netfilter.org>, Jozsef Kadlecsik <kadlec-AT-netfilter.org>, Shuah Khan <shuah-AT-kernel.org>, Andrew Lunn <andrew+netdev-AT-lunn.ch>, Phil Sutter <phil-AT-nwl.cc>
Subject:  [PATCH nf-next v8 0/3] Add IPIP flowtable SW acceleration
Date:  Thu, 23 Oct 2025 10:50:14 +0200
Message-ID:  <20251023-nf-flowtable-ipip-v8-0-5d5d8595c730@kernel.org>
Cc:  Florian Westphal <fw-AT-strlen.de>, netdev-AT-vger.kernel.org, netfilter-devel-AT-vger.kernel.org, coreteam-AT-netfilter.org, linux-kselftest-AT-vger.kernel.org, Lorenzo Bianconi <lorenzo-AT-kernel.org>
Archive-link:  Article

Introduce SW acceleration for IPIP tunnels in the netfilter flowtable
infrastructure. This series introduces basic infrastructure to
accelerate other tunnel types (e.g. IP6IP6).

---
Changes in v8:
- Rebase on top of the following series (not yet applied)
  https://patchwork.ozlabs.org/project/netfilter-devel/list...
- Link to v7: https://lore.kernel.org/r/20251021-nf-flowtable-ipip-v7-0...

Changes in v7:
- Introduce sw acceleration for tx path of IPIP tunnels
- Rely on exact match during flowtable entry lookup
- Fix typos
- Link to v6: https://lore.kernel.org/r/20250818-nf-flowtable-ipip-v6-0...

Changes in v6:
- Rebase on top of nf-next main branch
- Link to v5: https://lore.kernel.org/r/20250721-nf-flowtable-ipip-v5-0...

Changes in v5:
- Rely on __ipv4_addr_hash() to compute the hash used as encap ID
- Remove unnecessary pskb_may_pull() in nf_flow_tuple_encap()
- Add nf_flow_ip4_ecanp_pop utility routine
- Link to v4: https://lore.kernel.org/r/20250718-nf-flowtable-ipip-v4-0...

Changes in v4:
- Use the hash value of the saddr, daddr and protocol of outer IP header as
  encapsulation id.
- Link to v3: https://lore.kernel.org/r/20250703-nf-flowtable-ipip-v3-0...

Changes in v3:
- Add outer IP header sanity checks
- target nf-next tree instead of net-next
- Link to v2: https://lore.kernel.org/r/20250627-nf-flowtable-ipip-v2-0...

Changes in v2:
- Introduce IPIP flowtable selftest
- Link to v1: https://lore.kernel.org/r/20250623-nf-flowtable-ipip-v1-1...

---
Lorenzo Bianconi (3):
      net: netfilter: Add IPIP flowtable rx sw acceleration
      net: netfilter: Add IPIP flowtable tx sw acceleration
      selftests: netfilter: nft_flowtable.sh: Add IPIP flowtable selftest

 include/linux/netdevice.h                          |  16 +++
 include/net/netfilter/nf_flow_table.h              |  22 ++++
 net/ipv4/ipip.c                                    |  29 +++++
 net/netfilter/nf_flow_table_core.c                 |   3 +
 net/netfilter/nf_flow_table_ip.c                   | 117 ++++++++++++++++++++-
 net/netfilter/nf_flow_table_path.c                 |  86 +++++++++++++--
 .../selftests/net/netfilter/nft_flowtable.sh       |  40 +++++++
 7 files changed, 298 insertions(+), 15 deletions(-)
---
base-commit: 32e4b1bf1bbfe63e52e2fff7ade0aaeb805defe3
change-id: 20250623-nf-flowtable-ipip-1b3d7b08d067

Best regards,
-- 
Lorenzo Bianconi <lorenzo@kernel.org>




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds