Hi! The Netfilter project proudly presents: nftables 0.8.4 This release includes many fixes and following enhancements/new features: - support to match ipv6 segment routing headers - new 'meta ibrname' and 'meta obrname' to match the name of the logical bridge a packet is passing through. These new names replace the old (misnamed) 'ibriport'/'obriport'. - 'nft -a' will now show handle identifier for all objects, including tables and chains. - nft can now delete objects by their handle number. - support to update maps from the ruleset (packet path). - the "--echo" option now prints handle id for tables and object too. - "nft -f -" will now read from standard input - support for flow tables. Flow tables allow to accelerate packet forwarding in software. They provide an alternative path that allow packets to bypass the classic forwarding path. You can select what flows to place in the offloading path through the new flow offload expression. See nft manual page or https://lwn.net/Articles/738214/ for more information. - add libnftables as highlevel library This release of nftables now includes libnftables, a high-level library to interact with the in-kernel nf_tables subsystem. See ChangeLog that comes attached to this email for more details. You can download it from: http://www.netfilter.org/projects/nftables/downloads.html#nftables-0.8.4 ftp://ftp.netfilter.org/pub/nftables/ To build the code, libnftnl 1.1.0 and libmnl >= 1.0.2 are required: * http://netfilter.org/projects/libnftnl/index.html * http://netfilter.org/projects/libmnl/index.html Visit our wikipage for user documentation at: * http://wiki.nftables.org For the manpage reference, check man(8) nft. In case of bugs and feature request, file them via: * https://bugzilla.netfilter.org Happy firewalling!
Ahmed Abdelsalam (2): src: handle rt0 and rt2 properly src: Adding support for segment routing header 'srh' Duncan Roe (3): doc: nft.8 aim for consistent synopses throughout (again) doc: nft.8 more spelling fixes src: fix --debug mnl not producing output Florian Westphal (34): doc: add set information and example for run-time blackhole netlink: use nftnl_flowtable_get/set src: fix routing header support tests: add srh test cases tests: add test cases for vmap binop transfer src: netlink_delinearize: don't assume element contains a value src: segtree: use value expression length evaluate: handle binop adjustment recursively src: evaluate: add preliminary binop transfer support for vmaps doc: describe table dormant flag src: avoid errouneous assert with map+concat tests: meta: icmp, icmpv6: don't kill required dependencies payload: don't remove icmp family dependency in special cases proto: permit icmp-in-ipv6 and icmpv6-in-ipv4 Revert "payload: don't remove icmp family dependency in special cases" statement: print space before "{" in set add netlink_delinearize: kill dependency before eval of 'redirect' stmt tests: redirect: fix tests for upcoming nft-test.py fix tests: mh: fix expected test output tests: ct, meta: fixes for upcoming nft-test.py fix nft-test: check start of rule with sets too tests: ip6: fix 'missing payload' error evaluate: move lhs fixup to a helper evaluate: split binop xfer to separate function evaluate: handle EXPR_MAPPING evaluate: use recursive call for SET_REF handling configure: don't enable xtables when --without-xtables is passed scanner: add helpers token src: rename ibrportname, obrportname evaluate: reset eval context when evaluating set definitions evaluate: clear expression context before cmd evaluation doc: reword insert position, this expects rule handle to insert, not a relative postition Harsha Sharma (13): src: print 'handle' attribute in tables parser_bison: delete table via table handle src: Print handle attribute in chains parser_bison: delete chain via chain handle src: list set handle and delete set via set handle tests/shell: add tests for deletion of chains via chain handle tests/shell: add tests for deletion of sets via set handle src: extend nft to list object handle and delete objects via handle doc/nft.xml: Add deletion for objects via handles tests/shell: add tests for deletion of objects via object handle rule: print handle attribute in more clearer manner tests: shell: fix tests for deletion via handle attribute src: Updates for mini-gmp.{c,h} Laura Garcia Liebana (2): tests: shell: autogenerate dump verification src: support of dynamic map addition and update of elements Pablo Neira Ayuso (42): src: add variable expression and use it to allow redefinitions tests: shell: redefine and undefine tests: shell: set timeout and size combination coverage src: support for flowtable listing src: add support to add flowtables src: delete flowtable src: flow offload support tests: shell: add flowtable tests doc: nft: document flowtable netlink: print chain handle with --echo --handle netlink: print table handle with --echo --handle rule: print object handle with --echo --handle rule: broken handle listing of table and named objects tests: shell: missing redirection to file configure: bump libnftnl dependency src: support for get element command src: move monitor code to src/monitor.c src: remove unused batch support checks src: don't not dump set content from netlink_get_setelems() src: update dynamic set updates from packet path syntax Revert "src: update dynamic set updates from packet path syntax" src: revisit syntax to update sets and maps from packet path tests: update to new syntax to add/update set from packet path rule: reset cache iff there is an existing cache src: use mini-gmp 6.1.2 stable release evaluate: do not inconditionally update cache from flush command evaluate: propagate binop_transfer() adjustment to set key size netlink: floating point exception with concatenations tests: py: remove object ID from payload file parser_bison: missing rules for IBRIDGENAME and OBRIDGENAME src: use ibrname and obrname mnl: remove non-batch netlink code netlink: remove dead netlink_io_error() calls netlink: pass cmd object to netlink function calls netlink: netlink_list_chains() callers always wants all existing chains netlink: don't pass location to netlink_list_*() function netlink: remove unused function declarations src: simplify netlink_get_setelems() and rename it to netlink_list_setelems() src: centralize netlink error reporting netlink: no EINTR handling from netlink_get_setelem() evaluate: missing flowtable evaluation from nested notation rule: do not hardcode ingress when printing flowtable Phil Sutter (35): tests/shell: Use custom nft binary for ruleset listing relational: Eliminate meta OPs netlink: Fold netlink_gen_cmp() into netlink_gen_relational() Combine redir and masq statements into nat Support 'nft -f -' to read from stdin tests/shell: Fix dump of chains/0016delete_handle_0 tests/shell: Fix flowtable test cases flowtable: Make parsing a little more robust tests/shell: Fix sporadic fail of include/0007glob_double_0 tests/shell: Allow to specify multiple testcases tests/shell: Test flush and nat chain recreate in one go Export libnftables (again) ct: Fix output_fp bypass in ct_print() libnftables: Fix for input without trailing newline libnftables: Introduce nft_ctx_set_error() libnftables: Support buffering output and error libnftables: Simplify cookie integration tests/py: Use libnftables instead of calling nft binary tests/py: Review print statements in nft-test.py tests/py: Allow passing multiple files to nft-test.py cli: Drop String termination workaround erec: Review erec_print() libnftables: Fix forgotten bit after introducing error_fp rule: Free table->objs in table_free() segtree: Fix memory leaks Review raw payload allocation points segtree: Fix for last elem at interval end tests/py: rt.t: Drop needless rule output tests/py: Fix differences printing for rules with sets Review .gitignore files contents ct: Remove duplicate include of gmputil.h libnftables: Keep cmds list outside of parser_state parser_bison: Pass struct nft_ctx to parser_init() rule: Free flowtable in handle_free() statement: Fix get_rate() for zero byte_rate Sabrina Dubroca (1): expression: fix constant expression allocation on big endian with partial bytes