LuCI firewall port forwards missing family

I'm redirecting a port to the router (NTP) and want to grab both IPv4 and IPv6. If I create a rule using "Port Forward", it defaults to IPv4 only (confirmed by both fw4 print and nft list ruleset | grep NTP). If I set the family on the command line and reload, it works as expected

$ uci set firewall.@redirect[0].family=any

$ uci show firewall.@redirect[0]
firewall.cfg0f3837=redirect
firewall.cfg0f3837.target='DNAT'
firewall.cfg0f3837.proto='udp'
firewall.cfg0f3837.src='lan'
firewall.cfg0f3837.src_dport='123'
firewall.cfg0f3837.reflection='0'
firewall.cfg0f3837.name='NTP-on-router'
firewall.cfg0f3837.family='any'

$ fw4 reload
$ nft list ruleset | grep NTP -B1 -A1
        chain dstnat_lan {
                udp dport 123 counter packets 0 bytes 0 redirect to :123 comment "!fw4: NTP-on-router"
        }

But even then, the LuCI page erroneously describes it as an IPv4 rule, which looks like it's hard-coded somewhere:

(The System -> Firewall description is correct, as it's a separate piece of code altogether.)

Am I missing some package that would add address family to port forwards (and I think it's also missing from NAT, too)? If not, where is the source code of record for LuCI? Github or somewhere in https://git.openwrt.org/?a=project_list;pf=project or somewhere else? What's the workflow for creating patches, tests, PRs and submitting them?

It is.

No, but port forwarding is generally an IPv4 thing where NAT was a must-have. The GUI hasn’t caught up with the expanded capabilities of nftables and Kernel 5.10 to easily support IPv6 NAT features.

There is a pull request already to add more IPv6 awareness to the GUI.

1 Like

Aha, that's exactly what I was looking for, I'll grab the changes and try them out.

Well, maybe not... Looks like that PR only has the updates done on the NAT rules construction and validation, the forwards are still lacking support for the "any" address family.