From: David Wang <00107082@163.com>
To: unlisted-recipients:; (no To-header on input)
Cc: David Wang <00107082@163.com>,
Pablo Neira Ayuso <pablo@netfilter.org>,
Jozsef Kadlecsik <kadlec@netfilter.org>,
Florian Westphal <fw@strlen.de>,
netfilter-devel@vger.kernel.org, coreteam@netfilter.org,
linux-kernel@vger.kernel.org, bpf@vger.kernel.org
Subject: [PATCH] uapi/netfilter: Change netfilter hook verdict code definition from macro to enum
Date: Mon, 4 Sep 2023 21:02:02 +0800 [thread overview]
Message-ID: <20230904130201.14632-1-00107082@163.com> (raw)
As BPF_PROG_TYPE_NETFILTER was added in 6.4, a netfilter
bpf program can attach to netfilter hooks, process package
and return verdict back to netfilter. But those verdict
codes are defined as macro, which could not be compiled
into BTF with btf.c. libbpf, and maybe other bpf tools,
would extract information from BTF and generate a
common header "vmlinux.h". With macro definition, netfilter
bpf program would have to redefine those macro again,
besides including "vmlinux.h".
This code change netfilter hook verdict code definition to
enum, this way, make it into BTF.
Signed-off-by: David Wang <00107082@163.com>
---
include/uapi/linux/netfilter.h | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/include/uapi/linux/netfilter.h b/include/uapi/linux/netfilter.h
index 5a79ccb76701..d2f5dfab20dc 100644
--- a/include/uapi/linux/netfilter.h
+++ b/include/uapi/linux/netfilter.h
@@ -8,13 +8,15 @@
#include <linux/in6.h>
/* Responses from hook functions. */
-#define NF_DROP 0
-#define NF_ACCEPT 1
-#define NF_STOLEN 2
-#define NF_QUEUE 3
-#define NF_REPEAT 4
-#define NF_STOP 5 /* Deprecated, for userspace nf_queue compatibility. */
-#define NF_MAX_VERDICT NF_STOP
+enum {
+ NF_DROP = 0,
+ NF_ACCEPT = 1,
+ NF_STOLEN = 2,
+ NF_QUEUE = 3,
+ NF_REPEAT = 4,
+ NF_STOP = 5, /* Deprecated, for userspace nf_queue compatibility. */
+ NF_MAX_VERDICT = NF_STOP,
+};
/* we overload the higher bits for encoding auxiliary data such as the queue
* number or errno values. Not nice, but better than additional function
--
2.20.1
next reply other threads:[~2023-09-04 13:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-04 13:02 David Wang [this message]
2023-09-05 16:38 ` Daniel Xu
2023-09-05 16:57 ` David Wang
2023-09-07 2:21 ` Duncan Roe
2023-09-07 18:44 ` Florian Westphal
2023-09-28 11:53 ` Florian Westphal
2023-10-16 9:22 ` David Wang
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=20230904130201.14632-1-00107082@163.com \
--to=00107082@163.com \
--cc=bpf@vger.kernel.org \
--cc=coreteam@netfilter.org \
--cc=fw@strlen.de \
--cc=kadlec@netfilter.org \
--cc=linux-kernel@vger.kernel.org \
--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
all inboxes | Powered by JetHome®