Florian Westphal (43): src: remove bogus empty file src: netlink: fix crash when ops doesn't support udata tests: py: fix json single-flag output for fib & synproxy json: prevent null deref if chain->policy is not set json: work around fuzzer-induced assert crashes tests: helpers: suppress mount error messages mnl: catch bogus expressions before crashing evaluate: don't BUG on unexpected base datatype test: shell: nat_ftp: test files must be world-readable evaluate: rename recursion counter to recursion.binop evaluate: restrict allowed subtypes of concatenations src: BASECHAIN flag no longer implies presence of priority expression tests/py: prepare for set debug change debug: include kernel set information on cache fill src: print count variable in normal set listings tests: shell: add feature check for count output change tests/py: clean up set backend support fallout json: reject too long interface names evaluate: make sure chain jump name comes with a null byte evaluate: avoid double-free on error handling of bogus objref maps evaluate: check that set type is identical before merging evaluate: prevent merge of sets with incompatible keys tests: shell: add bitwise json dump files tests: shell: add optimize dump files tests: shell: add sets dumps tests: shell: add nft-i dumps tests: shell: add maps dumps tests: shell: add include dumps tests: shell: add a few nodump files tests: shell: move bogons to correct directory tests: shell: add json dump files Merge branch 'tests_shell_check_tree_fixes' src: split monitor trace code into new trace.c src: add conntrack information to trace monitor mode evaluate: check element key vs. set definition doc: expand on gc-interval, size and a few other set/map keywords tests: bogons: fix missing file name when logging evaluate: fix crash with invalid elements in set json: BASECHAIN flag no longer implies presence of priority expression evaluate: maps: check element data mapping matches set data definition parser_json: reject non-concat expression parser_json: fix assert due to empty interface name parser_bison: fix memory leak when parsing flowtable hook declaration Michal Koutný (1): doc: Clarify cgroup meta variable Pablo Neira Ayuso (21): tests: shell: skip egress in netdev chain release path test tests: shell: check if kernel supports for cgroupsv2 matching tests: shell: check for features not available in 5.4 rule: skip fuzzy lookup if object name is not available cache: assert name is non-nul when looking up cache: pass name to cache_add() parser_bison: only reset by name is supported by now parser_bison: allow delete command with map via handle src: use constant range expression for interval+concatenation sets expression: constant range is not a singleton src: use EXPR_RANGE_VALUE in interval maps fib: allow to check if route exists in maps fib: allow to use it in set statements rule: print chain and flowtable devices in quotes evaluate: mappings require set expression evaluate: validate set expression type before accessing flags src: convert set to list expression src: detach set, list and concatenation expression layout tests: monitor: enclose device names in quotes build: add trace.h to Makefile build: Bump version to 1.1.4 Phil Sutter (31): tests/shell: Skip netdev_chain_dev_addremove on tainted kernels parser_json: Introduce parse_flags_array() doc: Fix typo in nat statement 'prefix' description json: Print single set flag as non-array json: Print single fib flag as non-array json: Print single synproxy flags as non-array json: Introduce json_add_array_new() tests: shell: Add test case for JSON 'flags' arrays tests: shell: Include kernel taint value in warning netlink: Avoid potential NULL-ptr deref parsing set elem expressions netlink: Catch unknown types when deserializing objects netlink_delinearize: Replace some BUG()s by error messages netlink: Pass netlink_ctx to netlink_delinearize_setelem() netlink: Keep going after set element parsing failures cache: Tolerate object deserialization failures doc: Basic documentation of anonymous chains netlink: Fix for potential crash parsing a flowtable netlink: Do not allocate a bogus flowtable priority expr monitor: Correctly print flowtable updates json: Dump flowtable hook spec only if present tests: monitor: Fix for single flag array avoidance tests: shell: Adjust to ifname-based hooks tests: py: Properly fix JSON equivalents for netdev/reject.t netlink: Avoid crash upon missing NFTNL_OBJ_CT_TIMEOUT_ARRAY attribute tests: shell: Fix ifname_based_hooks feature check mnl: Support NFNL_HOOK_TYPE_NFT_FLOWTABLE mnl: Call mnl_attr_nest_end() just once expression: Introduce is_symbol_value_expr() macro parser_json: Parse into symbol range expression if possible evaluate: Fix for 'meta hour' ranges spanning date boundaries doc: nft.8: Minor NAT STATEMENTS section review Yi Chen (7): tests: shell: Update packetpath/flowtables tests: shell: Add a test case for FTP helper combined with NAT. test: shell: Don't use system nft binary test: shell: Introduce $NFT_TEST_LIBRARY_FILE, helper/lib.sh test: shell: Add wait_local_port_listen() helper to lib.sh test: shell: Add rate_limit test case for 'limit statement'. tests: shell: add type route chain test case Zhongqiu Duan (2): tests: shell: use binary defined by run-tests.sh tests: py: re-enables nft-test.py to load the local nftables.py