<feed xmlns='http://www.w3.org/2005/Atom'>
<title>firewall4/tests/03_rules, branch master</title>
<subtitle>OpenWrt nftables firewall</subtitle>
<id>https://git.openwrt.org/project/firewall4/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/firewall4/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/'/>
<updated>2026-08-27T16:26:24Z</updated>
<entry>
<title>fw4: anchor per-interface ubus firewall specs by kind</title>
<updated>2026-08-27T16:26:24Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-06-04T21:50:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=d92213a9345efc984ff9c191e3b32eaedeac695d'/>
<id>urn:sha1:d92213a9345efc984ff9c191e3b32eaedeac695d</id>
<content type='text'>
Only rule and nat specs pin to the publishing interface device, which
protocol handlers such as 464xlat rely on; zone, forwarding, redirect
and ipset specs resolve through their own references, and an explicit
device on them is kept. An empty device opts a rule or nat out of the
pin and then requires a zone reference.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: accept a source rewrite range for ICMP</title>
<updated>2026-08-27T16:26:05Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-22T12:30:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=2b55562cdfb294e6baae14fa41f8d2f4b5c30556'/>
<id>urn:sha1:2b55562cdfb294e6baae14fa41f8d2f4b5c30556</id>
<content type='text'>
A snat_port range on proto icmp maps the ICMP identifier rather than
a port. map.sh emits one per MAP-E portset (RFC 7597) and firewall3
accepted it, while fw4 rejects the section, breaking ICMP source NAT
for MAP. Accept the range for ICMP and infer the IPv6 family for
ipv6-icmp; port match options still require UDP or TCP.

Fixes: 59dbb982b7fe ("Initial commit")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>fw4: warn about ubus firewall specs of unknown type</title>
<updated>2026-08-27T16:26:05Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2026-08-22T03:29:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=500d30940e55a0090a93c6a958df694be5a21340'/>
<id>urn:sha1:500d30940e55a0090a93c6a958df694be5a21340</id>
<content type='text'>
A typo in the type field silently disables the spec. Warn instead;
entries without a type field remain ignored as before.

Fixes: 59dbb982b7fe ("Initial commit")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>ruleset: reduce ksoftirqd load by refering to looopback by numeric id</title>
<updated>2023-11-03T13:11:06Z</updated>
<author>
<name>Andris PE</name>
</author>
<published>2023-09-19T15:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=a5553dae70439c7e4fa910490fcf12a1ffff5bd2'/>
<id>urn:sha1:a5553dae70439c7e4fa910490fcf12a1ffff5bd2</id>
<content type='text'>
Reduce ksoftirq load by half using more efficient reference to loopback
which always has index equal to one.

Should help a lot with openwrt/openwrt#12914, openwrt/openwrt#12121 and
similar iperf3 cases clamping against 100% CPU usage.

Signed-off-by: Andris PE &lt;neandris@gmail.com&gt;
[fix S-o-b tag, fix commit author, rewrap commit message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>ruleset: dispatch ct states using verdict map</title>
<updated>2023-11-03T13:09:43Z</updated>
<author>
<name>Andris PE</name>
</author>
<published>2023-09-07T19:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=19a8caf614ec338513e58535ea02c6ee52988170'/>
<id>urn:sha1:19a8caf614ec338513e58535ea02c6ee52988170</id>
<content type='text'>
In case the dropping of invalid conntrack states is enabled, using a verdict
map allows us to use only one rule instead of two, lowering the initial rule
match overhead.

Signed-off-by: Andris PE &lt;neandris@gmail.com&gt;
[whitespace cleanup, rebase, extend commit subject and message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>Revert "ruleset: dispatch ct states using verdict map"</title>
<updated>2023-11-03T13:09:16Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2023-11-03T13:09:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=22c53921c11115e5437385719b6e73800a68cd33'/>
<id>urn:sha1:22c53921c11115e5437385719b6e73800a68cd33</id>
<content type='text'>
This reverts commit 785798c8fd72ff3c4c8940922173290bb25bc18e.

Revert commit due to bad commit metadata.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>ruleset: dispatch ct states using verdict map</title>
<updated>2023-11-03T13:04:39Z</updated>
<author>
<name>User User-User</name>
</author>
<published>2023-09-07T19:04:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=785798c8fd72ff3c4c8940922173290bb25bc18e'/>
<id>urn:sha1:785798c8fd72ff3c4c8940922173290bb25bc18e</id>
<content type='text'>
In case the dropping of invalid conntrack states is enabled, using a verdict
map allows us to use only one rule instead of two, lowering the initial rule
match overhead.

Signed-off-by: Andris PE &lt;neandris@gmail.com&gt;
[whitespace cleanup, rebase, extend commit subject and message]
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>ruleset: fix emitting set_mark/set_xmark rules with masks</title>
<updated>2022-10-14T15:01:44Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2022-10-14T15:01:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=756f1e21ed77f2c0b3fc2c8128c808704f2cf61b'/>
<id>urn:sha1:756f1e21ed77f2c0b3fc2c8128c808704f2cf61b</id>
<content type='text'>
Fix a bad variable access when emitting set_mark/set_xmark rules with
masks and add test coverage for the various mark target variants.

Fixes: #10965
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>fw4: fix formatting of default log prefix</title>
<updated>2022-10-05T21:33:59Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2022-10-05T21:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=43d8ef516747aaede640d292b0326a66186809a8'/>
<id>urn:sha1:43d8ef516747aaede640d292b0326a66186809a8</id>
<content type='text'>
When using the explicit or implicit rule name as default log prefix, ensure
that is followed by a colon and a space to yield properly formatted firewall
log messages.

Also align the processing logic of `option log` in `config nat` sections with
that in `config rule` and `config redirect`.

Ref: https://forum.openwrt.org/t/x/137182/8
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>tests: fix testcases</title>
<updated>2022-10-03T12:29:41Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2022-10-03T12:26:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/firewall4/commit/?id=b0a6bff4ee4410cd554811fa0ca3b28fce908473'/>
<id>urn:sha1:b0a6bff4ee4410cd554811fa0ca3b28fce908473</id>
<content type='text'>
Align expected output with the current implementation.

Fixes: a540f6d ("fw4: fix cosmetic issue with per-ruleset and per-table include paths")
Fixes: 145e159 ("fw4: recognize `option log` and `option counter` in `config nat` sections")
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
</feed>
