[PATCH v1 0/6] netlink netfilter decoder
Mathis Marion
Mathis.Marion at silabs.com
Thu Jun 12 09:56:00 UTC 2025
From: Mathis Marion <mathis.marion at silabs.com>
Hello,
I have been using strace to analyze the nftables kernel API, and ended
up implementing some decoders. This is by no means complete, but I
included already quite a lot of attributes. I hope that the community
will find this valuable.
I manually tested this series using 'strace nft', but I am opened to
spend a bit of time on writing unit tests if necessary. Testing all
attributes seems unreasonable though so I am interested to know more
about the project's expectations.
Mathis Marion (6):
netlink_netfilter: decode base attributes
netlink_netfilter: decode expressions
netlink_netfilter: decode set elements
netlink_netfilter: decode enums and flags
netlink_netfilter: decode counters
netlink_netfilter: decode hooks
src/netlink_netfilter.c | 565 ++++++++++++++++++++++++++++
src/xlat/nft_chain_attrs.in | 15 +
src/xlat/nft_chain_flags.in | 4 +
src/xlat/nft_cmp_attrs.in | 6 +
src/xlat/nft_cmp_ops.in | 8 +
src/xlat/nft_counter_attrs.in | 6 +
src/xlat/nft_data_attrs.in | 5 +
src/xlat/nft_device_attrs.in | 4 +
src/xlat/nft_expr_attrs.in | 5 +
src/xlat/nft_flowtable_attrs.in | 10 +
src/xlat/nft_flowtable_flags.in | 3 +
src/xlat/nft_gen_attrs.in | 6 +
src/xlat/nft_hook_attrs.in | 7 +
src/xlat/nft_immediate_attrs.in | 5 +
src/xlat/nft_list_attrs.in | 4 +
src/xlat/nft_lookup_attrs.in | 8 +
src/xlat/nft_meta_attrs.in | 6 +
src/xlat/nft_meta_keys.in | 38 ++
src/xlat/nft_obj_attrs.in | 11 +
src/xlat/nft_objects.in | 12 +
src/xlat/nft_payload_attrs.in | 11 +
src/xlat/nft_payload_bases.in | 7 +
src/xlat/nft_payload_csum_flags.in | 2 +
src/xlat/nft_payload_csum_types.in | 5 +
src/xlat/nft_registers.in | 23 ++
src/xlat/nft_rule_attrs.in | 14 +
src/xlat/nft_set_attrs.in | 21 ++
src/xlat/nft_set_elem_attrs.in | 14 +
src/xlat/nft_set_elem_flags.in | 3 +
src/xlat/nft_set_elem_list_attrs.in | 7 +
src/xlat/nft_set_flags.in | 10 +
src/xlat/nft_set_policies.in | 4 +
src/xlat/nft_table_attrs.in | 10 +
src/xlat/nft_table_flags.in | 4 +
src/xlat/nft_trace_attrs.in | 20 +
src/xlat/nft_trace_types.in | 6 +
src/xlat/nft_verdict_attrs.in | 6 +
src/xlat/nft_verdicts.in | 12 +
38 files changed, 907 insertions(+)
create mode 100644 src/xlat/nft_chain_attrs.in
create mode 100644 src/xlat/nft_chain_flags.in
create mode 100644 src/xlat/nft_cmp_attrs.in
create mode 100644 src/xlat/nft_cmp_ops.in
create mode 100644 src/xlat/nft_counter_attrs.in
create mode 100644 src/xlat/nft_data_attrs.in
create mode 100644 src/xlat/nft_device_attrs.in
create mode 100644 src/xlat/nft_expr_attrs.in
create mode 100644 src/xlat/nft_flowtable_attrs.in
create mode 100644 src/xlat/nft_flowtable_flags.in
create mode 100644 src/xlat/nft_gen_attrs.in
create mode 100644 src/xlat/nft_hook_attrs.in
create mode 100644 src/xlat/nft_immediate_attrs.in
create mode 100644 src/xlat/nft_list_attrs.in
create mode 100644 src/xlat/nft_lookup_attrs.in
create mode 100644 src/xlat/nft_meta_attrs.in
create mode 100644 src/xlat/nft_meta_keys.in
create mode 100644 src/xlat/nft_obj_attrs.in
create mode 100644 src/xlat/nft_objects.in
create mode 100644 src/xlat/nft_payload_attrs.in
create mode 100644 src/xlat/nft_payload_bases.in
create mode 100644 src/xlat/nft_payload_csum_flags.in
create mode 100644 src/xlat/nft_payload_csum_types.in
create mode 100644 src/xlat/nft_registers.in
create mode 100644 src/xlat/nft_rule_attrs.in
create mode 100644 src/xlat/nft_set_attrs.in
create mode 100644 src/xlat/nft_set_elem_attrs.in
create mode 100644 src/xlat/nft_set_elem_flags.in
create mode 100644 src/xlat/nft_set_elem_list_attrs.in
create mode 100644 src/xlat/nft_set_flags.in
create mode 100644 src/xlat/nft_set_policies.in
create mode 100644 src/xlat/nft_table_attrs.in
create mode 100644 src/xlat/nft_table_flags.in
create mode 100644 src/xlat/nft_trace_attrs.in
create mode 100644 src/xlat/nft_trace_types.in
create mode 100644 src/xlat/nft_verdict_attrs.in
create mode 100644 src/xlat/nft_verdicts.in
--
2.47.2
More information about the Strace-devel
mailing list