* [ANNOUNCE] nftables 0.9.8 release
@ 2021-01-15 21:59 Pablo Neira Ayuso
0 siblings, 0 replies; only message in thread
From: Pablo Neira Ayuso @ 2021-01-15 21:59 UTC (permalink / raw)
To: netfilter, netfilter-devel; +Cc: netdev, netfilter-announce, lwn
[-- Attachment #1: Type: text/plain, Size: 2815 bytes --]
Hi!
The Netfilter project proudly presents:
nftables 0.9.8
This release contains fixes, documentation updates and new features
available up to the Linux kernel 5.11-rc1 release.
* Complete support for matching ICMP header content fields.
... icmp type { echo-reply, echo-request} icmp id 1 icmp sequence 2
... icmpv6 type packet-too-big icmpv6 mtu 1280
* Add raw tcp option match support
... tcp option @42,16,4
where you can specify @kind,offset,length
* Allow to check for the presence of any tcp option
... tcp option 42 exists
* Support for reject traffic from the ingress chain:
table netdev x {
chain y {
type filter hook ingress device eth0 priority 0; policy accept;
tcp dport 22 reject with tcp reset
}
}
* Optimized bytecode generation for prefix match
# nft --debug=netlink x y ip saddr 192.168.2.0/24
ip
[ payload load 3b @ network header + 12 => reg 1 ]
[ cmp eq reg 1 0x0002a8c0 ]
Resulting in two instructions instead of three (bitwise is removed on
byte-boundaries).
* Support for several statements per set element. The example below
updates a set from the packet path (dynamic set), and it shows how
to ratelimit first then count packets that go through per set element.
table ip x {
set y {
type ipv4_addr
size 65535
flags dynamic,timeout
timeout 1h
}
chain z {
type filter hook output priority filter; policy accept;
update @y { ip daddr limit rate 1/second counter }
}
}
You can also use the multi-statement support for (non-dynamic) sets.
table ip x {
set y {
type ipv4_addr
limit rate 1/second counter
elements = { 1.1.1.1, 4.4.4.4, 5.5.5.5 }
}
chain y {
type filter hook output priority filter; policy accept;
ip daddr @y
}
}
In this case, you can add new elements from the control plane:
# nft add element x y { 6.6.6.6 }
which run the specified rate limit and counter statements.
This requires a Linux kernel >= 5.11-rc1.
* editline support for nft -i (CLI), you can enable it at compile time:
./configure --with-cli=editline
You can download this new release from:
https://www.netfilter.org/projects/nftables/downloads.html#nftables-0.9.8
To build the code, libnftnl >= 1.1.9 and libmnl >= 1.0.4 are required:
* https://netfilter.org/projects/libnftnl/index.html
* https://netfilter.org/projects/libmnl/index.html
Visit our wikipage for user documentation at:
* https://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.
[-- Attachment #2: changes-nftables-0.9.8.txt --]
[-- Type: text/plain, Size: 3183 bytes --]
Florian Westphal (23):
tests: json: add missing test case output
tests: avoid warning and add missing json test cases
json: add missing nat_type flag and netmap nat flag
json: fix ip6 dnat test case after range to prefix transformation change
parser: merge sack-perm/sack-permitted and maxseg/mss
tcpopts: clean up parser -> tcpopt.c plumbing
tcpopt: rename noop to nop
tcpopt: split tcpopt_hdr_fields into per-option enum
tcpopt: allow to check for presence of any tcp option
tcp: add raw tcp option match support
json: tcp: add raw tcp option match support
exthdr: remove unused proto_key member from struct
proto: reduce size of proto_desc structure
src: add auto-dependencies for ipv4 icmp
tests: fix exepcted payload of icmp expressions
src: add auto-dependencies for ipv6 icmp6
tests: fix exepcted payload of icmpv6 expressions
payload: auto-remove simple icmp/icmpv6 dependency expressions
tests: icmp, icmpv6: avoid remaining warnings
tests: ip: add one test case to cover both id and sequence
tests: icmp, icmpv6: check we don't add second dependency
nft: trace: print packet unconditionally
json: don't leave dangling pointers on hlist
Jeremy Sowden (3):
doc: correct chain name in example of adding a rule
tests: py: remove duplicate payloads.
tests: py: update format of registers in bitwise payloads.
Jose M. Guisado Gomez (5):
evaluate: add netdev support for reject default
tests: py: add netdev folder and reject.t icmp cases
src: enable json echo output when reading native syntax
monitor: add assignment check for json_echo
monitor: fix formatting of if statements
Pablo Neira Ayuso (19):
tests: shell: exercise validation with nft -c
parser_bison: allow to restore limit from dynamic set
mnl: reply netlink error message might be larger than MNL_SOCKET_BUFFER_SIZE
src: report EPERM for non-root users
parser_bison: double close_scope() call for implicit chains
tests: shell: timeouts later than 23 days
build: search for python3
src: add support for multi-statement in dynamic sets and maps
src: add set element multi-statement support
src: disallow burst 0 in ratelimits
tests: shell: set element multi-statement support
src: set on flags to request multi-statement support
cli: add libedit support
cli: use plain readline() interface with libedit
main: fix typo in cli definition
include: resync nf_tables.h cache copy
segtree: honor set element expiration
evaluate: disallow ct original {s,d}ddr from maps
build: Bump version to v0.9.8
Phil Sutter (8):
tests/shell: Improve fix in sets/0036add_set_element_expiration_0
src: Support odd-sized payload matches
src: Optimize prefix matches on byte-boundaries
proto: Fix ARP header field ordering
json: echo: Speedup seqnum_to_json()
json: Fix seqnum_to_json() functionality
doc: Document 'dccp type' match
tests: py: Fix for changed concatenated ranges output
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-15 21:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-01-15 21:59 [ANNOUNCE] nftables 0.9.8 release Pablo Neira Ayuso
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.