<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.nftables.org/wiki-nftables/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Danw</id>
	<title>nftables wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nftables.org/wiki-nftables/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Danw"/>
	<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php/Special:Contributions/Danw"/>
	<updated>2026-04-05T19:47:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1164</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1164"/>
		<updated>2025-06-19T15:56:05Z</updated>

		<summary type="html">&lt;p&gt;Danw: owner, persist flags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress on the kernel side. See also [[List of updates in the nft command line tool]].&lt;br /&gt;
&lt;br /&gt;
== 6.9 ==&lt;br /&gt;
&lt;br /&gt;
* support for &amp;quot;persist&amp;quot; flag for tables&lt;br /&gt;
&lt;br /&gt;
== 6.5 ==&lt;br /&gt;
&lt;br /&gt;
* Allow using a map in a set lookup expression (discarding the value)&lt;br /&gt;
&lt;br /&gt;
== 6.3 ==&lt;br /&gt;
&lt;br /&gt;
* Support for &#039;nft destroy&#039;&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.17 ==&lt;br /&gt;
&lt;br /&gt;
* fwd command in egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.16 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
* meta iiftype, meta oiftype&lt;br /&gt;
&lt;br /&gt;
== 5.12 ==&lt;br /&gt;
&lt;br /&gt;
* support for &amp;quot;owner&amp;quot; flag for tables&lt;br /&gt;
&lt;br /&gt;
== 5.11 ==&lt;br /&gt;
&lt;br /&gt;
* multiple expression support for sets (e.g., so a set can have both a limit and a counter)&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, stateful objects, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.9 ==&lt;br /&gt;
* Trying to add a object when a &amp;quot;conflicting&amp;quot; object exists (e.g., base chain with same name but different hook, map element with same key but different value) now returns EEXIST; in older kernels it returned EBUSY.&lt;br /&gt;
&lt;br /&gt;
== 5.7 ==&lt;br /&gt;
&lt;br /&gt;
* Support for stateful expressions (e.g. counters) on set elements&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
* delete set elements from packet path&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1163</id>
		<title>List of updates in the nft command line tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1163"/>
		<updated>2025-04-30T13:13:48Z</updated>

		<summary type="html">&lt;p&gt;Danw: add 1.1.2, 1.1.3&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains links to nftables release announcements. In addition to a summary of bug fixes and new features, each announcement typically includes examples of how to use new features.&lt;br /&gt;
&lt;br /&gt;
See also [[List of updates since Linux kernel 3.13]], for the kernel side of nftables development.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Date&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Release Announcement&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Matching Kernel&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2024-04-30&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=174532191318056&amp;amp;w=2 nftables 1.1.3]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2025-04-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=174465273426347&amp;amp;w=2 nftables 1.1.2]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2024-10-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=172790974719428&amp;amp;w=2 nftables 1.1.1]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2024-07-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=172116299430028&amp;amp;w=2 nftables 1.1.0]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-10-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=169771597127268&amp;amp;w=2 nftables 1.0.9]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-07-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=168933264008248&amp;amp;w=2 nftables 1.0.8]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-03-13&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167873533514569&amp;amp;w=2 nftables 1.0.7]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-12-11&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167166501709408&amp;amp;w=2 nftables 1.0.6]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-08-09&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=166007475409847&amp;amp;w=2 nftables 1.0.5]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-06-07&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165461289522999&amp;amp;w=2 nftables 1.0.4]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-05-31&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165399194307396&amp;amp;w=2 nftables 1.0.3]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-02-21&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=164546566103765&amp;amp;w=2 nftables 1.0.2]&lt;br /&gt;
| 5.17-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-11-18&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=163724233607275&amp;amp;w=2 nftables 1.0.1]&lt;br /&gt;
| 5.16-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162939459210790&amp;amp;w=2 nftables 1.0.0]&lt;br /&gt;
| 5.13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-05-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162197756905358&amp;amp;w=2 nftables 0.9.9]&lt;br /&gt;
| 5.13-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-01-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=161074809318720&amp;amp;w=2 nftables 0.9.8]&lt;br /&gt;
| 5.11-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-10-27&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=160379555303808&amp;amp;w=2 nftables 0.9.7]&lt;br /&gt;
| 5.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159225380419197&amp;amp;w=2 nftables 0.9.6]&lt;br /&gt;
| 5.7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-06&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159144250132190&amp;amp;w=2 nftables 0.9.5]&lt;br /&gt;
| 5.7&lt;br /&gt;
| This release broke &#039;&#039;vmap&#039;&#039; support, this is fixed in 0.9.6.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-04-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=158575148505527&amp;amp;w=2 nftables 0.9.4]&lt;br /&gt;
| 5.6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-12-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=157532146917292&amp;amp;w=2 nftables 0.9.3]&lt;br /&gt;
| 5.5-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156621590113089&amp;amp;w=2 nftables 0.9.2]&lt;br /&gt;
| 5.3-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-24&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156139496810281&amp;amp;w=2 nftables 0.9.1]&lt;br /&gt;
| 5.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-08&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152849974510956&amp;amp;w=2 nftables 0.9.0]&lt;br /&gt;
| 4.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-10&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152595594524056&amp;amp;w=2 nftables 0.8.5]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152521206028754&amp;amp;w=2 nftables 0.8.4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-03-03&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152009279821556&amp;amp;w=2 nftables 0.8.3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-02-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151759567102838&amp;amp;w=2 nftables 0.8.2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-01-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151610774011377&amp;amp;w=2 nftables 0.8.1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2017-10-12&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=150785219810541&amp;amp;w=2 nftables 0.8]&lt;br /&gt;
| 4.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-12-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=148226682025890&amp;amp;w=2 nftables 0.7]&lt;br /&gt;
| 4.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-06-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=146488681521497&amp;amp;w=2 nftables 0.6]&lt;br /&gt;
| 4.7-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2015-09-17&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=144251853500774&amp;amp;w=2 nftables 0.5]&lt;br /&gt;
| 4.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-12-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=141869063212230&amp;amp;w=2 nftables 0.4]&lt;br /&gt;
| 3.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-06-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=140371155009356&amp;amp;w=2 nftables 0.3]&lt;br /&gt;
| 3.15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-04-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139747559724664&amp;amp;w=2 nftables 0.2]&lt;br /&gt;
| 3.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-01-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139022350623824&amp;amp;w=2 nftables 0.099]&lt;br /&gt;
| 3.13&lt;br /&gt;
| The first release intended for users.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2009-03-18&lt;br /&gt;
| [https://marc.info/?l=netfilter-devel&amp;amp;m=123735060518576&amp;amp;w=2 nftables first alpha]&lt;br /&gt;
|&lt;br /&gt;
| First full public release, alpha quality not meant for users.&lt;br /&gt;
Release notes include design summary, with differences from iptables. &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=Adoption&amp;diff=1160</id>
		<title>Adoption</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=Adoption&amp;diff=1160"/>
		<updated>2025-03-24T12:24:57Z</updated>

		<summary type="html">&lt;p&gt;Danw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Netfilter project and community is focused on replacing the iptables framework with nftables, adding new features and refreshing some workflows along the way.&lt;br /&gt;
&lt;br /&gt;
Many upstream projects use iptables to handle filtering, NAT, mangling and other networking tasks. This page tracks &#039;&#039;&#039;nftables adoption&#039;&#039;&#039; in the wider community.&lt;br /&gt;
&lt;br /&gt;
= Cases =&lt;br /&gt;
&lt;br /&gt;
Known cases and examples we could heard of. &#039;&#039;&#039;TODO: extend with more current data&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All major Linux distributions contains the nftables framework ready to use. Check [[Nftables from distributions]].&lt;br /&gt;
&lt;br /&gt;
== system / firewalling / management ==&lt;br /&gt;
&lt;br /&gt;
=== Supporting nftables ===&lt;br /&gt;
&lt;br /&gt;
The following projects are known to either directly support nftables or have authors actively working on nftables integration.&lt;br /&gt;
&lt;br /&gt;
* https://www.fail2ban.org/ -- the fail2ban tool already includes native support for nftables.&lt;br /&gt;
* https://firewalld.org/ -- firewalld by RedHat is currently developing a native integration with nftables.&lt;br /&gt;
* https://suricata-ids.org/ -- suricata can work natively with nftables ([https://home.regit.org/2014/02/suricata-and-nftables/ link])&lt;br /&gt;
* https://keepalived.org/ -- keepalived works natively with nftables ([https://github.com/acassen/keepalived/issues/924])&lt;br /&gt;
&lt;br /&gt;
=== Supporting iptables only ===&lt;br /&gt;
&lt;br /&gt;
The following projects are known to only support iptables/iptables-nft, with no plans to support nftables in the future.&lt;br /&gt;
&lt;br /&gt;
* http://ferm.foo-projects.org/ -- [https://github.com/MaxKellermann/ferm/issues/35#issuecomment-386091563 citation]&lt;br /&gt;
* https://shorewall.org/ -- [https://sourceforge.net/p/shorewall/mailman/message/35458915/ citation]&lt;br /&gt;
&lt;br /&gt;
== virtualization / cloud / infrastructure ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/relianoid/nftlb -- nftlb by [https://www.relianoid.com Relianoid ADC] is a nftables-based loadbalancer&lt;br /&gt;
* https://www.docker.com/ -- Some discussion happened in the Docker community regarding a native integration with nftables, which could ease some of their use cases ([https://github.com/moby/moby/issues/26824 link]) ([https://github.com/robbertkl/docker-ipv6nat/issues/17 link]) ([https://stephank.nl/p/2017-06-05-ipv6-on-production-docker.html running docker with IPv6 using nftables])&lt;br /&gt;
* https://kubernetes.io/ -- As of v1.33, kube-proxy has a fully-supported nftables mode ([https://kubernetes.io/blog/2025/02/28/nftables-kube-proxy/ blog post])&lt;br /&gt;
* http://openstack.org/ -- Openstack does not support nftables yet. Compat tools may be used to trick neutron and other components into using nftables transparently.&lt;br /&gt;
* https://libvirt.org/ -- there are reports of people running libvirt with nftables for bridge filtering for virtual machines&lt;br /&gt;
* https://saltstack.com/ -- SaltStack includes native support for nftables ([https://docs.saltstack.com/en/latest/ref/states/all/salt.states.nftables.html link]).&lt;br /&gt;
* https://coreos.com/ -- the CoreOS ecosystem includes native support for nftables ([https://github.com/coreos/coreos-overlay/pull/2662 link])&lt;br /&gt;
&lt;br /&gt;
== others ==&lt;br /&gt;
&lt;br /&gt;
* https://openwrt.org/ -- there are reports of people running nftables rather than iptables in openwrt systems&lt;br /&gt;
* https://www.cica.es/ -- this regional [https://en.wikipedia.org/wiki/National_research_and_education_network NREN] uses nftables in the datacenter for their perimetral firewalls ([http://workshop.netfilter.org/2017/wiki/index.php/Developer_days.html#nftables_at_CICA.2C_our_experience slides])&lt;br /&gt;
* [[Nftables from distributions]] -- all major Linux distribution already include nftables ready to use&lt;br /&gt;
* https://www.nano-editor.org/ -- The nano editor includes syntax highlighting for nftables in files with .nft name extension or nft shebang&lt;br /&gt;
* https://github.com/nfnty/vim-nftables -- the VIM editor includes syntax highlighting for nftables&lt;br /&gt;
* [https://github.com/ipr-cnrs Institut de Physique de Rennes] -- this french research entity seems to be using nftables with ansible ([https://github.com/ipr-cnrs/nftables link])&lt;br /&gt;
* VPN -- nftables can be combined with other software packages like OpenVPN to build great VPN solutions ([http://ral-arturo.org/2017/04/07/openvpn-debian-stretch.html link])&lt;br /&gt;
* [https://github.com/mdlayher/netlink netlink golang package] -- the Golang Netlink package got batching support to be able to work with nftables ([https://github.com/mdlayher/netlink/issues/81 link])&lt;br /&gt;
* [https://github.com/google/nftables nftables golang library] -- This nftables golang integration library was made by Google&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Moving from iptables to nftables]]&lt;br /&gt;
* [[Moving from ipset to nftables]]&lt;br /&gt;
* [[List of updates since Linux kernel 3.13]]&lt;br /&gt;
* [[Supported features compared to xtables]]&lt;br /&gt;
* [[List of available translations via iptables-translate tool]]&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=Adoption&amp;diff=1159</id>
		<title>Adoption</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=Adoption&amp;diff=1159"/>
		<updated>2025-03-24T12:24:18Z</updated>

		<summary type="html">&lt;p&gt;Danw: update kubernetes status&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Netfilter project and community is focused on replacing the iptables framework with nftables, adding new features and refreshing some workflows along the way.&lt;br /&gt;
&lt;br /&gt;
Many upstream projects use iptables to handle filtering, NAT, mangling and other networking tasks. This page tracks &#039;&#039;&#039;nftables adoption&#039;&#039;&#039; in the wider community.&lt;br /&gt;
&lt;br /&gt;
= Cases =&lt;br /&gt;
&lt;br /&gt;
Known cases and examples we could heard of. &#039;&#039;&#039;TODO: extend with more current data&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
All major Linux distributions contains the nftables framework ready to use. Check [[Nftables from distributions]].&lt;br /&gt;
&lt;br /&gt;
== system / firewalling / management ==&lt;br /&gt;
&lt;br /&gt;
=== Supporting nftables ===&lt;br /&gt;
&lt;br /&gt;
The following projects are known to either directly support nftables or have authors actively working on nftables integration.&lt;br /&gt;
&lt;br /&gt;
* https://www.fail2ban.org/ -- the fail2ban tool already includes native support for nftables.&lt;br /&gt;
* https://firewalld.org/ -- firewalld by RedHat is currently developing a native integration with nftables.&lt;br /&gt;
* https://suricata-ids.org/ -- suricata can work natively with nftables ([https://home.regit.org/2014/02/suricata-and-nftables/ link])&lt;br /&gt;
* https://keepalived.org/ -- keepalived works natively with nftables ([https://github.com/acassen/keepalived/issues/924])&lt;br /&gt;
&lt;br /&gt;
=== Supporting iptables only ===&lt;br /&gt;
&lt;br /&gt;
The following projects are known to only support iptables/iptables-nft, with no plans to support nftables in the future.&lt;br /&gt;
&lt;br /&gt;
* http://ferm.foo-projects.org/ -- [https://github.com/MaxKellermann/ferm/issues/35#issuecomment-386091563 citation]&lt;br /&gt;
* https://shorewall.org/ -- [https://sourceforge.net/p/shorewall/mailman/message/35458915/ citation]&lt;br /&gt;
&lt;br /&gt;
== virtualization / cloud / infrastructure ==&lt;br /&gt;
&lt;br /&gt;
* https://github.com/relianoid/nftlb -- nftlb by [https://www.relianoid.com Relianoid ADC] is a nftables-based loadbalancer&lt;br /&gt;
* https://www.docker.com/ -- Some discussion happened in the Docker community regarding a native integration with nftables, which could ease some of their use cases ([https://github.com/moby/moby/issues/26824 link]) ([https://github.com/robbertkl/docker-ipv6nat/issues/17 link]) ([https://stephank.nl/p/2017-06-05-ipv6-on-production-docker.html running docker with IPv6 using nftables])&lt;br /&gt;
* https://kubernetes.io/ -- As of v1.33, kube-proxy has a fully-supported nftables mode ([https://kubernetes.io/blog/2025/02/28/nftables-kube-proxy/])&lt;br /&gt;
* http://openstack.org/ -- Openstack does not support nftables yet. Compat tools may be used to trick neutron and other components into using nftables transparently.&lt;br /&gt;
* https://libvirt.org/ -- there are reports of people running libvirt with nftables for bridge filtering for virtual machines&lt;br /&gt;
* https://saltstack.com/ -- SaltStack includes native support for nftables ([https://docs.saltstack.com/en/latest/ref/states/all/salt.states.nftables.html link]).&lt;br /&gt;
* https://coreos.com/ -- the CoreOS ecosystem includes native support for nftables ([https://github.com/coreos/coreos-overlay/pull/2662 link])&lt;br /&gt;
&lt;br /&gt;
== others ==&lt;br /&gt;
&lt;br /&gt;
* https://openwrt.org/ -- there are reports of people running nftables rather than iptables in openwrt systems&lt;br /&gt;
* https://www.cica.es/ -- this regional [https://en.wikipedia.org/wiki/National_research_and_education_network NREN] uses nftables in the datacenter for their perimetral firewalls ([http://workshop.netfilter.org/2017/wiki/index.php/Developer_days.html#nftables_at_CICA.2C_our_experience slides])&lt;br /&gt;
* [[Nftables from distributions]] -- all major Linux distribution already include nftables ready to use&lt;br /&gt;
* https://www.nano-editor.org/ -- The nano editor includes syntax highlighting for nftables in files with .nft name extension or nft shebang&lt;br /&gt;
* https://github.com/nfnty/vim-nftables -- the VIM editor includes syntax highlighting for nftables&lt;br /&gt;
* [https://github.com/ipr-cnrs Institut de Physique de Rennes] -- this french research entity seems to be using nftables with ansible ([https://github.com/ipr-cnrs/nftables link])&lt;br /&gt;
* VPN -- nftables can be combined with other software packages like OpenVPN to build great VPN solutions ([http://ral-arturo.org/2017/04/07/openvpn-debian-stretch.html link])&lt;br /&gt;
* [https://github.com/mdlayher/netlink netlink golang package] -- the Golang Netlink package got batching support to be able to work with nftables ([https://github.com/mdlayher/netlink/issues/81 link])&lt;br /&gt;
* [https://github.com/google/nftables nftables golang library] -- This nftables golang integration library was made by Google&lt;br /&gt;
&lt;br /&gt;
= See also =&lt;br /&gt;
&lt;br /&gt;
* [[Moving from iptables to nftables]]&lt;br /&gt;
* [[Moving from ipset to nftables]]&lt;br /&gt;
* [[List of updates since Linux kernel 3.13]]&lt;br /&gt;
* [[Supported features compared to xtables]]&lt;br /&gt;
* [[List of available translations via iptables-translate tool]]&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1157</id>
		<title>List of updates in the nft command line tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1157"/>
		<updated>2024-12-14T22:41:24Z</updated>

		<summary type="html">&lt;p&gt;Danw: add 1.1.0, 1.1.1&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains links to nftables release announcements. In addition to a summary of bug fixes and new features, each announcement typically includes examples of how to use new features.&lt;br /&gt;
&lt;br /&gt;
See also [[List of updates since Linux kernel 3.13]], for the kernel side of nftables development.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Date&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Release Announcement&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Matching Kernel&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2024-10-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=172790974719428&amp;amp;w=2 nftables 1.1.1]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2024-07-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=172116299430028&amp;amp;w=2 nftables 1.1.0]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-10-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=169771597127268&amp;amp;w=2 nftables 1.0.9]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-07-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=168933264008248&amp;amp;w=2 nftables 1.0.8]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-03-13&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167873533514569&amp;amp;w=2 nftables 1.0.7]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-12-11&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167166501709408&amp;amp;w=2 nftables 1.0.6]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-08-09&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=166007475409847&amp;amp;w=2 nftables 1.0.5]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-06-07&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165461289522999&amp;amp;w=2 nftables 1.0.4]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-05-31&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165399194307396&amp;amp;w=2 nftables 1.0.3]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-02-21&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=164546566103765&amp;amp;w=2 nftables 1.0.2]&lt;br /&gt;
| 5.17-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-11-18&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=163724233607275&amp;amp;w=2 nftables 1.0.1]&lt;br /&gt;
| 5.16-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162939459210790&amp;amp;w=2 nftables 1.0.0]&lt;br /&gt;
| 5.13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-05-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162197756905358&amp;amp;w=2 nftables 0.9.9]&lt;br /&gt;
| 5.13-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-01-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=161074809318720&amp;amp;w=2 nftables 0.9.8]&lt;br /&gt;
| 5.11-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-10-27&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=160379555303808&amp;amp;w=2 nftables 0.9.7]&lt;br /&gt;
| 5.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159225380419197&amp;amp;w=2 nftables 0.9.6]&lt;br /&gt;
| 5.7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-06&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159144250132190&amp;amp;w=2 nftables 0.9.5]&lt;br /&gt;
| 5.7&lt;br /&gt;
| This release broke &#039;&#039;vmap&#039;&#039; support, this is fixed in 0.9.6.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-04-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=158575148505527&amp;amp;w=2 nftables 0.9.4]&lt;br /&gt;
| 5.6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-12-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=157532146917292&amp;amp;w=2 nftables 0.9.3]&lt;br /&gt;
| 5.5-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156621590113089&amp;amp;w=2 nftables 0.9.2]&lt;br /&gt;
| 5.3-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-24&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156139496810281&amp;amp;w=2 nftables 0.9.1]&lt;br /&gt;
| 5.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-08&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152849974510956&amp;amp;w=2 nftables 0.9.0]&lt;br /&gt;
| 4.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-10&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152595594524056&amp;amp;w=2 nftables 0.8.5]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152521206028754&amp;amp;w=2 nftables 0.8.4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-03-03&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152009279821556&amp;amp;w=2 nftables 0.8.3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-02-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151759567102838&amp;amp;w=2 nftables 0.8.2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-01-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151610774011377&amp;amp;w=2 nftables 0.8.1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2017-10-12&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=150785219810541&amp;amp;w=2 nftables 0.8]&lt;br /&gt;
| 4.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-12-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=148226682025890&amp;amp;w=2 nftables 0.7]&lt;br /&gt;
| 4.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-06-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=146488681521497&amp;amp;w=2 nftables 0.6]&lt;br /&gt;
| 4.7-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2015-09-17&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=144251853500774&amp;amp;w=2 nftables 0.5]&lt;br /&gt;
| 4.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-12-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=141869063212230&amp;amp;w=2 nftables 0.4]&lt;br /&gt;
| 3.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-06-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=140371155009356&amp;amp;w=2 nftables 0.3]&lt;br /&gt;
| 3.15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-04-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139747559724664&amp;amp;w=2 nftables 0.2]&lt;br /&gt;
| 3.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-01-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139022350623824&amp;amp;w=2 nftables 0.099]&lt;br /&gt;
| 3.13&lt;br /&gt;
| The first release intended for users.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2009-03-18&lt;br /&gt;
| [https://marc.info/?l=netfilter-devel&amp;amp;m=123735060518576&amp;amp;w=2 nftables first alpha]&lt;br /&gt;
|&lt;br /&gt;
| First full public release, alpha quality not meant for users.&lt;br /&gt;
Release notes include design summary, with differences from iptables. &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=Flowtables&amp;diff=1154</id>
		<title>Flowtables</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=Flowtables&amp;diff=1154"/>
		<updated>2024-10-28T16:58:38Z</updated>

		<summary type="html">&lt;p&gt;Danw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Flowtables allow you to accelerate packet forwarding in software (and in hardware if your NIC supports it) by using a conntrack-based network stack bypass.&lt;br /&gt;
&lt;br /&gt;
Entries are represented through a tuple that is composed of the input interface, source and destination address, source and destination port; and layer 3/4&lt;br /&gt;
protocols. Each entry also caches the destination interface and the gateway address (to update the destination link-layer address) to forward packets.&lt;br /&gt;
&lt;br /&gt;
The TTL and hoplimit fields are also decremented. Hence, flowtables provides an alternative path that allow packets to bypass the classic forwarding path.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                                         userspace process&lt;br /&gt;
                                          ^              |&lt;br /&gt;
                                          |              |&lt;br /&gt;
                                     _____|____     ____\/___&lt;br /&gt;
                                    /          \   /         \&lt;br /&gt;
                                    |   input  |   |  output |&lt;br /&gt;
                                    \__________/   \_________/&lt;br /&gt;
                                         ^               |&lt;br /&gt;
                                         |               |&lt;br /&gt;
      _________      __________      ---------     _____\/_____&lt;br /&gt;
     /         \    /          \     |Routing |   /            \&lt;br /&gt;
  --&amp;gt;  ingress  ---&amp;gt; prerouting ---&amp;gt; |decision|   | postrouting|--&amp;gt; neigh_xmit&lt;br /&gt;
     \_________/    \__________/     ----------   \____________/          ^&lt;br /&gt;
       |      ^                          |               ^                |&lt;br /&gt;
   flowtable  |                     ____\/___            |                |&lt;br /&gt;
       |      |                    /         \           |                |&lt;br /&gt;
    __\/___   |                    | forward |------------                |&lt;br /&gt;
    |-----|   |                    \_________/                            |&lt;br /&gt;
    |-----|   |                 &#039;flow offload&#039; rule                       |&lt;br /&gt;
    |-----|   |                   adds entry to                           |&lt;br /&gt;
    |_____|   |                     flowtable                             |&lt;br /&gt;
       |      |                                                           |&lt;br /&gt;
      / \     |                                                           |&lt;br /&gt;
     /hit\_no_|                                                           |&lt;br /&gt;
     \ ? /                                                                |&lt;br /&gt;
      \ /                                                                 |&lt;br /&gt;
       |__yes_________________fastpath bypass ____________________________|&lt;br /&gt;
&lt;br /&gt;
               Fig.1 Netfilter hooks and flowtable interactions&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Flowtables reside in the ingress hook that is located before the prerouting hook. You can select which flows you want to offload through the flow expression from the forward chain. Flowtables are identified by their address [[Nftables_families|family]] and their name. The address family must be one of ip, ip6, or inet. When no address family is specified, ip is used by default.&lt;br /&gt;
&lt;br /&gt;
Flows are offloaded after the state is created. That means that usually the first reply packet will create the flowtable entry.&lt;br /&gt;
A firewall rule to accept the initial traffic is required.&lt;br /&gt;
The flow expression on the forward chain must match the return traffic of the initial connection.&lt;br /&gt;
Be aware that the return route is deducted from the packet, that creates the flowtable entry.&lt;br /&gt;
This also means if you are using special ip rules, you need to make sure that they match the reply packet traffic as well as the original traffic.&lt;br /&gt;
&lt;br /&gt;
The *priority* can be a signed integer or *filter* which stands for 0. Addition and subtraction can be used to set relative priority, e.g. filter + 5 equals to 5.&lt;br /&gt;
&lt;br /&gt;
The *devices* are specified as [[Data_types|iifname]](s) of the input interface(s) of the traffic that should be offloaded. Devices are required for both traffic directions.&lt;br /&gt;
&lt;br /&gt;
An Example to offload HTTP traffic for a router:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
define DEV_PRIVATE=eth0&lt;br /&gt;
define DEV_INTERNET=eth1&lt;br /&gt;
&lt;br /&gt;
table inet x {&lt;br /&gt;
&lt;br /&gt;
    flowtable f {&lt;br /&gt;
        hook ingress priority 0&lt;br /&gt;
        devices = { $DEV_PRIVATE, $DEV_INTERNET }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    chain forward {&lt;br /&gt;
        type filter hook forward priority 0; policy drop;&lt;br /&gt;
&lt;br /&gt;
        # offload established HTTP connections&lt;br /&gt;
        tcp dport { 80, 443 } ct state established flow offload @f counter packets 0 bytes 0&lt;br /&gt;
&lt;br /&gt;
        # Allow traffic from established and related packets, drop invalid&lt;br /&gt;
        ct state vmap { established : accept, related : accept, invalid : drop }&lt;br /&gt;
&lt;br /&gt;
        # connections from the internal net to the internet or to other&lt;br /&gt;
        # internal nets are allowed&lt;br /&gt;
        iifname $DEV_PRIVATE counter accept&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that:&lt;br /&gt;
&lt;br /&gt;
# The rule that uses the &#039;&#039;flow offload&#039;&#039; statement determines what flows are added to the flowtable. This ruleset above adds entries to the flowtable for established HTTP connections.&lt;br /&gt;
# The devices you specify in the flowtable declaration determine where the flowtable hooks in the pipeline for lookups, in the example above, it registers a hook for devices eth0 and eth1 in the ingress hook at priority 0.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.kernel.org/doc/html/latest/networking/nf_flowtable.html Linux kernel documentation on Netfilter flowtable]&lt;br /&gt;
* [https://netdevconf.info/0x13/session.html?workshop-netfilter-mini Netfilter Mini-Workshop, Netdev 0x13, 2019-03]&lt;br /&gt;
* [https://lwn.net/Articles/804384/ Mellanox flowtable hardware offload]&lt;br /&gt;
* [https://www.programmersought.com/article/11833283913/ Some Mellanox flowtable hardware offload performance measurements by Wen Xu of UCloud]&lt;br /&gt;
* [https://linuxplumbersconf.org/event/4/contributions/463/ Netfilter hardware offloads, Pablo Neira Ayuso, Linux Plumbers Conference, 2019-09]&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1133</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1133"/>
		<updated>2024-05-01T12:16:39Z</updated>

		<summary type="html">&lt;p&gt;Danw: a few more updates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress on the kernel side. See also [[List of updates in the nft command line tool]].&lt;br /&gt;
&lt;br /&gt;
== 6.5 ==&lt;br /&gt;
&lt;br /&gt;
* Allow using a map in a set lookup expression (discarding the value)&lt;br /&gt;
&lt;br /&gt;
== 6.3 ==&lt;br /&gt;
&lt;br /&gt;
* Support for &#039;nft destroy&#039;&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.17 ==&lt;br /&gt;
&lt;br /&gt;
* fwd command in egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.16 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
* meta iiftype, meta oiftype&lt;br /&gt;
&lt;br /&gt;
== 5.11 ==&lt;br /&gt;
&lt;br /&gt;
* multiple expression support for sets (e.g., so a set can have both a limit and a counter)&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, stateful objects, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.9 ==&lt;br /&gt;
* Trying to add a object when a &amp;quot;conflicting&amp;quot; object exists (e.g., base chain with same name but different hook, map element with same key but different value) now returns EEXIST; in older kernels it returned EBUSY.&lt;br /&gt;
&lt;br /&gt;
== 5.7 ==&lt;br /&gt;
&lt;br /&gt;
* Support for stateful expressions (e.g. counters) on set elements&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
* delete set elements from packet path&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1107</id>
		<title>List of updates in the nft command line tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1107"/>
		<updated>2024-01-05T14:34:46Z</updated>

		<summary type="html">&lt;p&gt;Danw: add recent releases, add &amp;quot;matching kernel&amp;quot; versions (where noted in release announcement)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains links to nftables release announcements. In addition to a summary of bug fixes and new features, each announcement typically includes examples of how to use new features.&lt;br /&gt;
&lt;br /&gt;
See also [[List of updates since Linux kernel 3.13]], for the kernel side of nftables development.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Date&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Release Announcement&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Matching Kernel&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-10-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=169771597127268&amp;amp;w=2 nftables 1.0.9]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-07-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=168933264008248&amp;amp;w=2 nftables 1.0.8]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2023-03-13&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167873533514569&amp;amp;w=2 nftables 1.0.7]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-12-11&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=167166501709408&amp;amp;w=2 nftables 1.0.6]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-08-09&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=166007475409847&amp;amp;w=2 nftables 1.0.5]&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-06-07&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165461289522999&amp;amp;w=2 nftables 1.0.4]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-05-31&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=165399194307396&amp;amp;w=2 nftables 1.0.3]&lt;br /&gt;
| 5.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-02-21&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=164546566103765&amp;amp;w=2 nftables 1.0.2]&lt;br /&gt;
| 5.17-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-11-18&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=163724233607275&amp;amp;w=2 nftables 1.0.1]&lt;br /&gt;
| 5.16-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162939459210790&amp;amp;w=2 nftables 1.0.0]&lt;br /&gt;
| 5.13&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-05-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162197756905358&amp;amp;w=2 nftables 0.9.9]&lt;br /&gt;
| 5.13-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-01-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=161074809318720&amp;amp;w=2 nftables 0.9.8]&lt;br /&gt;
| 5.11-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-10-27&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=160379555303808&amp;amp;w=2 nftables 0.9.7]&lt;br /&gt;
| 5.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159225380419197&amp;amp;w=2 nftables 0.9.6]&lt;br /&gt;
| 5.7&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-06&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159144250132190&amp;amp;w=2 nftables 0.9.5]&lt;br /&gt;
| 5.7&lt;br /&gt;
| This release broke &#039;&#039;vmap&#039;&#039; support, this is fixed in 0.9.6.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-04-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=158575148505527&amp;amp;w=2 nftables 0.9.4]&lt;br /&gt;
| 5.6&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-12-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=157532146917292&amp;amp;w=2 nftables 0.9.3]&lt;br /&gt;
| 5.5-rc&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156621590113089&amp;amp;w=2 nftables 0.9.2]&lt;br /&gt;
| 5.3-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-24&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156139496810281&amp;amp;w=2 nftables 0.9.1]&lt;br /&gt;
| 5.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-08&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152849974510956&amp;amp;w=2 nftables 0.9.0]&lt;br /&gt;
| 4.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-10&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152595594524056&amp;amp;w=2 nftables 0.8.5]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152521206028754&amp;amp;w=2 nftables 0.8.4]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-03-03&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152009279821556&amp;amp;w=2 nftables 0.8.3]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-02-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151759567102838&amp;amp;w=2 nftables 0.8.2]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-01-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151610774011377&amp;amp;w=2 nftables 0.8.1]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2017-10-12&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=150785219810541&amp;amp;w=2 nftables 0.8]&lt;br /&gt;
| 4.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-12-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=148226682025890&amp;amp;w=2 nftables 0.7]&lt;br /&gt;
| 4.10-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-06-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=146488681521497&amp;amp;w=2 nftables 0.6]&lt;br /&gt;
| 4.7-rc1&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2015-09-17&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=144251853500774&amp;amp;w=2 nftables 0.5]&lt;br /&gt;
| 4.2&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-12-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=141869063212230&amp;amp;w=2 nftables 0.4]&lt;br /&gt;
| 3.18&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-06-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=140371155009356&amp;amp;w=2 nftables 0.3]&lt;br /&gt;
| 3.15&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-04-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139747559724664&amp;amp;w=2 nftables 0.2]&lt;br /&gt;
| 3.14&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-01-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139022350623824&amp;amp;w=2 nftables 0.099]&lt;br /&gt;
| 3.13&lt;br /&gt;
| The first release intended for users.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2009-03-18&lt;br /&gt;
| [https://marc.info/?l=netfilter-devel&amp;amp;m=123735060518576&amp;amp;w=2 nftables first alpha]&lt;br /&gt;
|&lt;br /&gt;
| First full public release, alpha quality not meant for users.&lt;br /&gt;
Release notes include design summary, with differences from iptables. &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1106</id>
		<title>List of updates in the nft command line tool</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_in_the_nft_command_line_tool&amp;diff=1106"/>
		<updated>2024-01-05T14:18:41Z</updated>

		<summary type="html">&lt;p&gt;Danw: cross-link to kernel updates page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains links to nftables release announcements. In addition to a summary of bug fixes and new features, each announcement typically includes examples of how to use new features.&lt;br /&gt;
&lt;br /&gt;
See also [[List of updates since Linux kernel 3.13]], for the kernel side of nftables development.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Date&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Release Announcement&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Comments&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2022-02-21&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=164546566103765&amp;amp;w=2 nftables 1.0.2]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-11-18&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=163724233607275&amp;amp;w=2 nftables 1.0.1]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162939459210790&amp;amp;w=2 nftables 1.0.0]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-05-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=162197756905358&amp;amp;w=2 nftables 0.9.9]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2021-01-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=161074809318720&amp;amp;w=2 nftables 0.9.8]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-10-27&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=160379555303808&amp;amp;w=2 nftables 0.9.7]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-15&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159225380419197&amp;amp;w=2 nftables 0.9.6]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-06-06&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=159144250132190&amp;amp;w=2 nftables 0.9.5]&lt;br /&gt;
| This release broke &#039;&#039;vmap&#039;&#039; support, this is fixed in 0.9.6.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2020-04-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=158575148505527&amp;amp;w=2 nftables 0.9.4]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-12-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=157532146917292&amp;amp;w=2 nftables 0.9.3]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-08-19&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156621590113089&amp;amp;w=2 nftables 0.9.2]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-24&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=156139496810281&amp;amp;w=2 nftables 0.9.1]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2019-06-08&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152849974510956&amp;amp;w=2 nftables 0.9.0]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-10&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152595594524056&amp;amp;w=2 nftables 0.8.5]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-05-01&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152521206028754&amp;amp;w=2 nftables 0.8.4]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-03-03&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=152009279821556&amp;amp;w=2 nftables 0.8.3]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-02-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151759567102838&amp;amp;w=2 nftables 0.8.2]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2018-01-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=151610774011377&amp;amp;w=2 nftables 0.8.1]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2017-10-12&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=150785219810541&amp;amp;w=2 nftables 0.8]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-12-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=148226682025890&amp;amp;w=2 nftables 0.7]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2016-06-02&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=146488681521497&amp;amp;w=2 nftables 0.6]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2015-09-17&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=144251853500774&amp;amp;w=2 nftables 0.5]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-12-16&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=141869063212230&amp;amp;w=2 nftables 0.4]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-06-25&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=140371155009356&amp;amp;w=2 nftables 0.3]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-04-14&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139747559724664&amp;amp;w=2 nftables 0.2]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2014-01-20&lt;br /&gt;
| [https://marc.info/?l=netfilter&amp;amp;m=139022350623824&amp;amp;w=2 nftables 0.099]&lt;br /&gt;
| The first released intended for users.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| 2009-03-18&lt;br /&gt;
| [https://marc.info/?l=netfilter-devel&amp;amp;m=123735060518576&amp;amp;w=2 nftables first alpha]&lt;br /&gt;
| First full public release, alpha quality not meant for users.&lt;br /&gt;
Release notes include design summary, with differences from iptables. &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1105</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1105"/>
		<updated>2024-01-05T14:17:49Z</updated>

		<summary type="html">&lt;p&gt;Danw: cross-link to cli updates page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress on the kernel side. See also [[List of updates in the nft command line tool]].&lt;br /&gt;
&lt;br /&gt;
== 6.3 ==&lt;br /&gt;
&lt;br /&gt;
* Support for &#039;nft destroy&#039;&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.17 ==&lt;br /&gt;
&lt;br /&gt;
* fwd command in egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.16 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.11 ==&lt;br /&gt;
&lt;br /&gt;
* multiple expression support for sets (e.g., so a set can have both a limit and a counter)&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, stateful objects, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.7 ==&lt;br /&gt;
&lt;br /&gt;
* Support for stateful expressions (e.g. counters) on set elements&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1104</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1104"/>
		<updated>2023-12-22T16:23:00Z</updated>

		<summary type="html">&lt;p&gt;Danw: a few more&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress.&lt;br /&gt;
&lt;br /&gt;
== 6.3 ==&lt;br /&gt;
&lt;br /&gt;
* Support for &#039;nft destroy&#039;&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.17 ==&lt;br /&gt;
&lt;br /&gt;
* fwd command in egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.16 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.11 ==&lt;br /&gt;
&lt;br /&gt;
* multiple expression support for sets (e.g., so a set can have both a limit and a counter)&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, stateful objects, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.7 ==&lt;br /&gt;
&lt;br /&gt;
* Support for stateful expressions (e.g. counters) on set elements&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1103</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1103"/>
		<updated>2023-12-22T15:00:20Z</updated>

		<summary type="html">&lt;p&gt;Danw: fix netdev egress version (it was reverted from 5.7 before release)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress.&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.16 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=Netfilter_hooks&amp;diff=1102</id>
		<title>Netfilter hooks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=Netfilter_hooks&amp;diff=1102"/>
		<updated>2023-12-22T14:59:28Z</updated>

		<summary type="html">&lt;p&gt;Danw: fix netdev egress version (it was reverted from 5.7 before release)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;nftables&#039;&#039; uses mostly the same Netfilter infrastructure as legacy &#039;&#039;iptables&#039;&#039;. The hook infrastructure, [http://people.netfilter.org/pablo/docs/login.pdf Connection Tracking System], NAT engine, logging infrastructure, and userspace queueing remain the same. Only the packet classification framework is new.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Netfilter hooks into Linux networking packet flows ==&lt;br /&gt;
&lt;br /&gt;
The following schematic shows packet flows through Linux networking:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
https://people.netfilter.org/pablo/nf-hooks.png&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Traffic flowing to the local machine in the input path sees the prerouting and input hooks. Then, the traffic that is generated by local processes follows the output and postrouting path.&lt;br /&gt;
&lt;br /&gt;
If you configure your Linux box to behave as a router, do not forget to enable forwarding via:&lt;br /&gt;
&lt;br /&gt;
 echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
&lt;br /&gt;
Then packets that are not addressed to your local system will be seen from the forward hook. Such forwarded packets follow the path: prerouting, forward and postrouting.&lt;br /&gt;
&lt;br /&gt;
In a major change from iptables, which predefines chains at &#039;&#039;&#039;every&#039;&#039;&#039; hook (i.e. &#039;&#039;INPUT&#039;&#039; chain in &#039;&#039;filter&#039;&#039; table), nftables predefines &#039;&#039;&#039;no&#039;&#039;&#039; chains at all. You must must explicitly create a [[Configuring_chains#Base_chain_hooks | base&amp;amp;nbsp;chain]] at each hook at which you want to filter traffic.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ingress hook ===&lt;br /&gt;
&lt;br /&gt;
The ingress hook was added in Linux kernel 4.2. Unlike the other netfilter hooks, the ingress hook is attached to a particular network interface.&lt;br /&gt;
&lt;br /&gt;
You can use &#039;&#039;nftables&#039;&#039; with the ingress hook to enforce very early filtering policies that take effect even before prerouting. Do note that at this very early stage, fragmented datagrams have not yet been reassembled. So, for example, matching ip saddr and daddr works for all ip packets, but matching L4 headers like udp dport works only for unfragmented packets, or the first fragment.&lt;br /&gt;
&lt;br /&gt;
The ingress hook provides an alternative to &#039;&#039;tc&#039;&#039; ingress filtering. You still need &#039;&#039;tc&#039;&#039; for traffic shaping/queue management.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Hooks by family and chain type ==&lt;br /&gt;
&lt;br /&gt;
The following table lists available hooks by [[Nftables_families|family]] and [[Configuring_chains#Base_chain_types|chain type]]. Minimum nftables and Linux kernel versions are shown for recently-added hooks.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; rowspan=&amp;quot;2&amp;quot; | Chain type&lt;br /&gt;
! colspan=&amp;quot;7&amp;quot; | Hooks&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
! ingress&lt;br /&gt;
! prerouting&lt;br /&gt;
! forward&lt;br /&gt;
! input&lt;br /&gt;
! output&lt;br /&gt;
! postrouting&lt;br /&gt;
! egress&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;inet family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{yes|1=[https://marc.info/?l=netfilter&amp;amp;m=160379555303808&amp;amp;w=2 0.9.7] / [https://kernelnewbies.org/Linux_5.10 5.10]}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;ip6 family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;ip family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;arp family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;bridge family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;8&amp;quot; | &amp;lt;br&amp;gt;netdev family&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| filter&lt;br /&gt;
| {{yes|1=[https://marc.info/?l=netfilter&amp;amp;m=146488681521497&amp;amp;w=2 0.6] / [https://kernelnewbies.org/Linux_4.2 4.2]}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{yes|1=[https://marc.info/?l=netfilter&amp;amp;m=163724233607275&amp;amp;w=2 1.0.1] / [https://kernelnewbies.org/Linux_5.16 5.16]}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| nat&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| route&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Priority within hook ==&lt;br /&gt;
&lt;br /&gt;
Within a given hook, Netfilter performs operations in order of increasing numerical priority. Each nftables [[Configuring_chains#Base_chain_hooks | base&amp;amp;nbsp;chain]] and [[Flowtables|flowtable]] is assigned a priority that defines its ordering among other base chains and flowtables and Netfilter internal operations at the same hook. For example, a chain on the &#039;&#039;prerouting&#039;&#039; hook with priority &#039;&#039;-300&#039;&#039; will be placed before connection tracking operations.&lt;br /&gt;
&lt;br /&gt;
The following table shows Netfilter priority values, check the nft manpage for reference.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- style=&amp;quot;vertical-align:bottom;&amp;quot;&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | nftables [[Nftables_families|Families]]&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Typical hooks&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | &#039;&#039;nft&#039;&#039; Keyword&lt;br /&gt;
! style=&amp;quot;text-align:right;&amp;quot; | Value&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Netfilter Internal Priority&lt;br /&gt;
! style=&amp;quot;text-align:left;&amp;quot; | Description&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| prerouting&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -450&lt;br /&gt;
| NF_IP_PRI_RAW_BEFORE_DEFRAG&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| prerouting&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -400&lt;br /&gt;
| NF_IP_PRI_CONNTRACK_DEFRAG&lt;br /&gt;
| Packet defragmentation / datagram reassembly &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| all&lt;br /&gt;
| &#039;&#039;&#039;raw&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -300&lt;br /&gt;
| NF_IP_PRI_RAW&lt;br /&gt;
| Traditional priority of the raw table placed before connection tracking operation&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -225&lt;br /&gt;
| NF_IP_PRI_SELINUX_FIRST&lt;br /&gt;
| SELinux operations&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| prerouting, output&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -200&lt;br /&gt;
| NF_IP_PRI_CONNTRACK&lt;br /&gt;
| [[Connection_Tracking_System | Connection tracking]] processes run early in prerouting and output hooks to associate packets with tracked connections. &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| all&lt;br /&gt;
| &#039;&#039;&#039;mangle&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -150&lt;br /&gt;
| NF_IP_PRI_MANGLE&lt;br /&gt;
| Mangle operation&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| prerouting&lt;br /&gt;
| &#039;&#039;&#039;dstnat&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -100&lt;br /&gt;
| NF_IP_PRI_NAT_DST&lt;br /&gt;
| Destination NAT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6, arp, netdev&lt;br /&gt;
| all&lt;br /&gt;
| &#039;&#039;&#039;filter&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 0&lt;br /&gt;
| NF_IP_PRI_FILTER&lt;br /&gt;
| Filtering operation, the filter table&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| all&lt;br /&gt;
| &#039;&#039;&#039;security&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 50&lt;br /&gt;
| NF_IP_PRI_SECURITY&lt;br /&gt;
| Place of security table, where secmark can be set for example&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| postrouting&lt;br /&gt;
| &#039;&#039;&#039;srcnat&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
| NF_IP_PRI_NAT_SRC&lt;br /&gt;
| Source NAT&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
| postrouting&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 225&lt;br /&gt;
| NF_IP_PRI_SELINUX_LAST&lt;br /&gt;
| SELinux at packet exit&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| postrouting&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 300&lt;br /&gt;
| NF_IP_PRI_CONNTRACK_HELPER&lt;br /&gt;
| Connection tracking helpers, which identify expected and related packets.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| inet, ip, ip6&lt;br /&gt;
| input, postrouting&lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | INT_MAX&lt;br /&gt;
| NF_IP_PRI_CONNTRACK_CONFIRM&lt;br /&gt;
| Connection tracking adds new tracked connections at final step in input &amp;amp; postrouting hooks.&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; | &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| prerouting&lt;br /&gt;
| &#039;&#039;&#039;dstnat&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -300&lt;br /&gt;
| NF_BR_PRI_NAT_DST_BRIDGED&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| all&lt;br /&gt;
| &#039;&#039;&#039;filter&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | -200&lt;br /&gt;
| NF_BR_PRI_FILTER_BRIDGED&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 0&lt;br /&gt;
| NF_BR_PRI_BRNF&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| output&lt;br /&gt;
| &#039;&#039;&#039;out&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 100&lt;br /&gt;
| NF_BR_PRI_NAT_DST_OTHER&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 200&lt;br /&gt;
| NF_BR_PRI_FILTER_OTHER&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| bridge&lt;br /&gt;
| postrouting&lt;br /&gt;
| &#039;&#039;&#039;srcnat&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;text-align:right;&amp;quot; | 300&lt;br /&gt;
| NF_BR_PRI_NAT_SRC&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Starting with nftables 0.9.6 you may set priority using keywords instead of numbers. (Note that the same keyword maps to different numerical priorities in the bridge family vs. the other families.) You can also specify priority as an integral offset from a keyword, i.e. &#039;&#039;mangle - 5&#039;&#039; is equivalent to numerical priority -155.&lt;br /&gt;
&lt;br /&gt;
It&#039;s possible to specify keyword priorities even in family/hook combinations where they don&#039;t make logical sense. Recall that the relative numerical ordering of priorities within a given hook is all that matters as far as Netfilter is concerned. Keep in mind that this relative ordering includes packet defragmentation, connection tracking and other Netfilter operations as well as your nftables base chains and flowtables.&lt;br /&gt;
&lt;br /&gt;
NOTE: nat type chains must use priority &amp;gt; -200, which is used by conntrack hooks.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1101</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1101"/>
		<updated>2023-12-22T13:21:52Z</updated>

		<summary type="html">&lt;p&gt;Danw: add more features mentioned on other wiki pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress.&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
* Support for comments on tables, chains, sets, maps, etc.&lt;br /&gt;
&lt;br /&gt;
== 5.7 ==&lt;br /&gt;
&lt;br /&gt;
* netdev egress hook&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in [[concatenations]]&lt;br /&gt;
&lt;br /&gt;
== 5.4 ==&lt;br /&gt;
&lt;br /&gt;
* meta time / hour / day&lt;br /&gt;
&lt;br /&gt;
== 5.3 ==&lt;br /&gt;
&lt;br /&gt;
* [[Bridge filtering#Stateful_filtering|conntrack support for the &#039;&#039;bridge&#039;&#039; family]]&lt;br /&gt;
* th expression for [[Matching packet headers#Matching_UDP.2FTCP_headers_in_the_same_rule|matching UDP/TCP headers in the same rule]]&lt;br /&gt;
* [[synproxy]] statement&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.0 ==&lt;br /&gt;
&lt;br /&gt;
* ipsec / xfrm expressions&lt;br /&gt;
&lt;br /&gt;
== 4.20 ==&lt;br /&gt;
&lt;br /&gt;
* [[secmark]] support&lt;br /&gt;
&lt;br /&gt;
== 4.19 ==&lt;br /&gt;
&lt;br /&gt;
* tproxy statement&lt;br /&gt;
&lt;br /&gt;
== 4.18 ==&lt;br /&gt;
&lt;br /&gt;
* nftables NAT is no longer incompatible with iptables NAT&lt;br /&gt;
* [[connlimits]] (but buggy until 4.19.10!)&lt;br /&gt;
* [[Meters#Doing_connlimit_with_nft|ct count]]&lt;br /&gt;
* log level audit&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.14 ==&lt;br /&gt;
&lt;br /&gt;
* PMTU calculation / MSS clamping ([[Mangling_packet_headers#Mangling TCP options|tcp option maxseg size set rt mtu]])&lt;br /&gt;
&lt;br /&gt;
== 4.12 ==&lt;br /&gt;
&lt;br /&gt;
* [[Setting_packet_connection_tracking_metainformation#ct_helper_set_-_Assign_conntrack_helper|ct helper set]]&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
* [[stateful objects]]&lt;br /&gt;
* nexthop and fib, for [[matching routing information]]&lt;br /&gt;
* improved [[Mangling packet headers|packet mangling]] support&lt;br /&gt;
&lt;br /&gt;
== 4.6 ==&lt;br /&gt;
&lt;br /&gt;
* [[Ruleset debug/tracing]]&lt;br /&gt;
&lt;br /&gt;
== 4.5 ==&lt;br /&gt;
&lt;br /&gt;
* [[Meters]]&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* [[Concatenations]].&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
	<entry>
		<id>http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1100</id>
		<title>List of updates since Linux kernel 3.13</title>
		<link rel="alternate" type="text/html" href="http://wiki.nftables.org/wiki-nftables/index.php?title=List_of_updates_since_Linux_kernel_3.13&amp;diff=1100"/>
		<updated>2023-12-22T12:08:00Z</updated>

		<summary type="html">&lt;p&gt;Danw: add some features from the man page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A listing of the development progress.&lt;br /&gt;
&lt;br /&gt;
== 6.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for inner header matching, such as &amp;quot;udp dport 6081 geneve ip saddr 10.141.11.2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== 5.10 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ingress hook in inet family&lt;br /&gt;
&lt;br /&gt;
== 5.6 ==&lt;br /&gt;
&lt;br /&gt;
* Support for ranges (intervals) in concatenations&lt;br /&gt;
&lt;br /&gt;
== 5.2 ==&lt;br /&gt;
&lt;br /&gt;
* Support for NAT in inet family&lt;br /&gt;
&lt;br /&gt;
== 4.16 ==&lt;br /&gt;
&lt;br /&gt;
* flowtable support&lt;br /&gt;
&lt;br /&gt;
== 4.15 ==&lt;br /&gt;
&lt;br /&gt;
* Fetch single elements of a set (i.e, nft get element)&lt;br /&gt;
&lt;br /&gt;
== 4.10 ==&lt;br /&gt;
&lt;br /&gt;
* notrack support&lt;br /&gt;
&lt;br /&gt;
== 4.3 ==&lt;br /&gt;
&lt;br /&gt;
* Enhancements for the limit expression, support for ratelimit bytes/time unit.&lt;br /&gt;
* Dup expression (equivalent to the &#039;&#039;TEE&#039;&#039; target in iptables) for IPv4 and IPv6.&lt;br /&gt;
* VLAN header matching support when NIC support offloads.&lt;br /&gt;
&lt;br /&gt;
== 4.2 ==&lt;br /&gt;
&lt;br /&gt;
* New &#039;netdev&#039; family for filtering from ingress.&lt;br /&gt;
* Context to x_tables extensions to know if they run from nft_compat.&lt;br /&gt;
&lt;br /&gt;
== 4.1 ==&lt;br /&gt;
&lt;br /&gt;
Major updates in the generic set infrastructure:&lt;br /&gt;
&lt;br /&gt;
* Concatenations.&lt;br /&gt;
* Timeout per set elements.&lt;br /&gt;
* Comments per set elements.&lt;br /&gt;
* Dynamic set instantiation.&lt;br /&gt;
&lt;br /&gt;
== 4.0 ==&lt;br /&gt;
&lt;br /&gt;
* Mostly fixes.&lt;br /&gt;
&lt;br /&gt;
== 3.19 ==&lt;br /&gt;
&lt;br /&gt;
* redirect support.&lt;br /&gt;
&lt;br /&gt;
== 3.18 ==&lt;br /&gt;
&lt;br /&gt;
* masquerading support.&lt;br /&gt;
* meta cpu, devgroup matching.&lt;br /&gt;
* reject bridge support.&lt;br /&gt;
* destroy table and its content, ie. &#039;&#039;nft flush ruleset&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== 3.17 ==&lt;br /&gt;
&lt;br /&gt;
* log and nflog support for ip, ip6, arp and bridge families.&lt;br /&gt;
&lt;br /&gt;
== 3.16 ==&lt;br /&gt;
&lt;br /&gt;
* connlabel support.&lt;br /&gt;
&lt;br /&gt;
== 3.15 ==&lt;br /&gt;
&lt;br /&gt;
* Comments per rule support.&lt;br /&gt;
* IPv4 reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.14 ==&lt;br /&gt;
&lt;br /&gt;
* set packet mark support.&lt;br /&gt;
* nfqueue support (only for ip and ip6 families).&lt;br /&gt;
* rule tracing support.&lt;br /&gt;
* IPv6 and inet reject support.&lt;br /&gt;
&lt;br /&gt;
== 3.13 ==&lt;br /&gt;
&lt;br /&gt;
* nf_tables merged mainstream.&lt;/div&gt;</summary>
		<author><name>Danw</name></author>
	</entry>
</feed>