From: Phil Sutter <phil@nwl.cc>
To: netfilter-devel@vger.kernel.org
Cc: Pablo Neira Ayuso <pablo@netfilter.org>, Florian Westphal <fw@strlen.de>
Subject: [iptables PATCH 0/3] Extract nftnl_rule parsing code
Date: Fri, 21 Apr 2023 19:40:11 +0200 [thread overview]
Message-ID: <20230421174014.17014-1-phil@nwl.cc> (raw)
nft-shared.c was already oversized, upcoming enhancement of the
nftnl_rule parser will add to that. So prepare any further work in that
field by creating a common 'nft-ruleparse.c' source and one for each
family to hold all the parsing code (basically the stack below
nft_rule_to_iptables_command_state).
Collect the existing expression parsing callbacks in a new struct
nft_ruleparse_ops and add a pointer to it into nft_family_ops. This way
the callbacks may be static and the nft-ruleparse-<family>.c sources
only export their ops object.
This series does things somewhat gradually:
* First pull everything from nft-shared.c into nft-ruleparse.c (likewise
with header files)
* Then perform the *_ops struct changes which should not have a
functional implication
* Finally weed parsers from nft-<family>.c files into
nft-ruleparse-<family>.c ones.
Phil Sutter (3):
nft: Introduce nft-ruleparse.{c,h}
nft: Extract rule parsing callbacks from nft_family_ops
nft: ruleparse: Create family-specific source files
iptables/Makefile.am | 3 +
iptables/nft-arp.c | 139 +---
iptables/nft-bridge.c | 390 +---------
iptables/nft-cache.h | 2 +
iptables/nft-ipv4.c | 106 +--
iptables/nft-ipv6.c | 83 +--
iptables/nft-ruleparse-arp.c | 168 +++++
iptables/nft-ruleparse-bridge.c | 422 +++++++++++
iptables/nft-ruleparse-ipv4.c | 135 ++++
iptables/nft-ruleparse-ipv6.c | 112 +++
iptables/nft-ruleparse.c | 1208 +++++++++++++++++++++++++++++++
iptables/nft-ruleparse.h | 138 ++++
iptables/nft-shared.c | 1190 ------------------------------
iptables/nft-shared.h | 115 +--
14 files changed, 2194 insertions(+), 2017 deletions(-)
create mode 100644 iptables/nft-ruleparse-arp.c
create mode 100644 iptables/nft-ruleparse-bridge.c
create mode 100644 iptables/nft-ruleparse-ipv4.c
create mode 100644 iptables/nft-ruleparse-ipv6.c
create mode 100644 iptables/nft-ruleparse.c
create mode 100644 iptables/nft-ruleparse.h
--
2.40.0
next reply other threads:[~2023-04-21 17:40 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-21 17:40 Phil Sutter [this message]
2023-04-21 17:40 ` [iptables PATCH 1/3] nft: Introduce nft-ruleparse.{c,h} Phil Sutter
2023-04-21 17:40 ` [iptables PATCH 2/3] nft: Extract rule parsing callbacks from nft_family_ops Phil Sutter
2023-04-21 17:40 ` [iptables PATCH 3/3] nft: ruleparse: Create family-specific source files Phil Sutter
2023-05-03 17:36 ` [iptables PATCH 0/3] Extract nftnl_rule parsing code Phil Sutter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230421174014.17014-1-phil@nwl.cc \
--to=phil@nwl.cc \
--cc=fw@strlen.de \
--cc=netfilter-devel@vger.kernel.org \
--cc=pablo@netfilter.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox