From: Duncan Roe <duncan_roe@optusnet.com.au>
To: pablo@netfilter.org
Cc: netfilter-devel@vger.kernel.org
Subject: [PATCH libnetfilter_queue 00/32] Convert libnetfilter_queue to not need libnfnetlink
Date: Fri, 15 Mar 2024 18:33:15 +1100 [thread overview]
Message-ID: <20240315073347.22628-1-duncan_roe@optusnet.com.au> (raw)
In-Reply-To: <ZcyaQvJ1SvnYgakf@calendula>
Hi Pablo,
On Wed, Feb 14, 2024 at 11:47:30AM +0100, Pablo Neira Ayuso wrote:
> Hi Duncan,
>
> On Wed, Feb 14, 2024 at 08:07:06AM +1100, Duncan Roe wrote:
> > And no libnfnetlink headers either.
> > Submitted as a single patch because the first change essentially broke
> > it until the job was nearly finished.
>
> This is too large. Can you start with smaller chunks?
>
> For example, use mnl_attr_get_*(), then pick the next target
> incrementally, so there is a chance of evaluating what could break,
> because this conversion to libmnl _cannot_ break existing userspace
> applications, that's the challenge.
>
[SNIP}
This series is a re-spin of
"Convert libnetfilter_queue to use entirely libmnl functions".
This time, I managed to convert nfq_open_nfnl(). Existing userspace
applications that use nfq_open_nfnl() or any other functions from
libnfnetlink should continue to run just fine.
However many patches you apply, the library will keep working with the
unpatched functions using libnfnetlink.
To assist with patch review, these patches don't contain any documentation
updates except for the nlif subsystem. I have plenty of documentation
updates ready to go but can defer them until you have committed the code.
Cheers ... Duncan.
Duncan Roe (32):
src: Convert nfq_open() to use libmnl
src: Convert nfq_open_nfnl() to use libmnl
src: Convert nfq_close() to use libmnl
src: Convert nfq_create_queue(), nfq_bind_pf() & nfq_unbind_pf() to
use libmnl
src: Convert nfq_set_queue_flags() & nfq_set_queue_maxlen() to use
libmnl
src: Convert nfq_handle_packet(), nfq_get_secctx(), nfq_get_payload()
and all the nfq_get_ functions to use libmnl
src: Convert nfq_set_verdict() and nfq_set_verdict2() to use libmnl if
there is no data
src: Incorporate nfnl_rcvbufsiz() in libnetfilter_queue
src: Convert nfq_fd() to use libmnl
src: Convert remaining nfq_* functions to use libmnl
src: Fix checkpatch whitespace and block comment warnings
src: Copy nlif-related code from libnfnetlink
include: Cherry-pick macros and functions that nlif will need
doc: Add linux_list.h to the doxygen system
doc: Eliminate doxygen warnings from linux_list.h
doc: Eliminate doxygen warnings from iftable.c
whitespace: remove trailing spaces from iftable.c
include: Use libmnl.h instead of libnfnetlink.h
src: Convert all nlif_* functions to use libmnl
src: Delete rtnl.c
build: Remove libnfnetlink from the build
include: Remove the last remaining use of a libnfnetlink header
doc: Get doxygen to document useful static inline functions
doc: SYNOPSIS of linux_list.h nominates
libnetfilter_queue/libnetfilter_queue.h
doc: Move nlif usage description from libnetfilter_queue.c to
iftable.c
build: Shave some time off build
doc: Resolve most issues with man page generated from linux_list.h
build: Get real & user times back to what they were
doc: Cater for doxygen variants w.r.t. #define stmts
doc: Fix list_empty() doxygen comments
src: Use a cast in place of convoluted construct
whitespace: Fix more checkpatch errors & warnings
Make_global.am | 2 +-
configure.ac | 1 -
doxygen/Makefile.am | 5 +
doxygen/build_man.sh | 44 +-
doxygen/doxygen.cfg.in | 11 +-
.../libnetfilter_queue/libnetfilter_queue.h | 39 +-
include/libnetfilter_queue/linux_list.h | 192 +++++++
.../linux_nfnetlink_queue.h | 3 +-
libnetfilter_queue.pc.in | 2 -
src/Makefile.am | 3 +-
src/iftable.c | 376 +++++++++++++
src/libnetfilter_queue.c | 515 +++++++++++-------
12 files changed, 987 insertions(+), 206 deletions(-)
create mode 100644 include/libnetfilter_queue/linux_list.h
create mode 100644 src/iftable.c
--
2.35.8
next prev parent reply other threads:[~2024-03-15 7:33 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-13 21:07 [PATCH libnetfilter_queue 0/1] Convert libnetfilter_queue to use entirely libmnl functions Duncan Roe
2024-02-13 21:07 ` [PATCH libnetfilter_queue 1/1] " Duncan Roe
2024-02-14 10:47 ` Pablo Neira Ayuso
2024-02-16 1:41 ` Duncan Roe
2024-02-19 2:27 ` Duncan Roe
2024-03-19 23:58 ` [PATCH libnetfilter_queue 00/32] Convert libnetfilter_queue to not need libnfnetlink Duncan Roe
2024-03-15 7:33 ` Duncan Roe [this message]
2024-03-15 7:33 ` [PATCH libnetfilter_queue 01/32] src: Convert nfq_open() to use libmnl Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 02/32] src: Convert nfq_open_nfnl() " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 03/32] src: Convert nfq_close() " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 04/32] src: Convert nfq_create_queue(), nfq_bind_pf() & nfq_unbind_pf() " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 05/32] src: Convert nfq_set_queue_flags() & nfq_set_queue_maxlen() " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 06/32] src: Convert nfq_handle_packet(), nfq_get_secctx(), nfq_get_payload() and all the nfq_get_ functions " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 07/32] src: Convert nfq_set_verdict() and nfq_set_verdict2() to use libmnl if there is no data Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 08/32] src: Incorporate nfnl_rcvbufsiz() in libnetfilter_queue Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 09/32] src: Convert nfq_fd() to use libmnl Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 10/32] src: Convert remaining nfq_* functions " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 11/32] src: Fix checkpatch whitespace and block comment warnings Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 12/32] src: Copy nlif-related code from libnfnetlink Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 13/32] include: Cherry-pick macros and functions that nlif will need Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 14/32] doc: Add linux_list.h to the doxygen system Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 15/32] doc: Eliminate doxygen warnings from linux_list.h Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 16/32] doc: Eliminate doxygen warnings from iftable.c Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 17/32] whitespace: remove trailing spaces " Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 18/32] include: Use libmnl.h instead of libnfnetlink.h Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 19/32] src: Convert all nlif_* functions to use libmnl Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 20/32] src: Delete rtnl.c Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 21/32] build: Remove libnfnetlink from the build Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 22/32] include: Remove the last remaining use of a libnfnetlink header Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 23/32] doc: Get doxygen to document useful static inline functions Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 24/32] doc: SYNOPSIS of linux_list.h nominates libnetfilter_queue/libnetfilter_queue.h Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 25/32] doc: Move nlif usage description from libnetfilter_queue.c to iftable.c Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 26/32] build: Shave some time off build Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 27/32] doc: Resolve most issues with man page generated from linux_list.h Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 28/32] build: Get real & user times back to what they were Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 29/32] doc: Cater for doxygen variants w.r.t. #define stmts Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 30/32] doc: Fix list_empty() doxygen comments Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 31/32] src: Use a cast in place of convoluted construct Duncan Roe
2024-03-15 7:33 ` [PATCH libnetfilter_queue 32/32] whitespace: Fix more checkpatch errors & warnings Duncan Roe
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=20240315073347.22628-1-duncan_roe@optusnet.com.au \
--to=duncan_roe@optusnet.com.au \
--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;
as well as URLs for NNTP newsgroup(s).