<html>
    <head>
      <base href="https://bugzilla.netfilter.org/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:pablo@netfilter.org" title="Pablo Neira Ayuso <pablo@netfilter.org>"> <span class="fn">Pablo Neira Ayuso</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - nft 0.7: expression.c:966: range_expr_value_low: Assertion '0' failed."
   href="https://bugzilla.netfilter.org/show_bug.cgi?id=1145">bug 1145</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>ASSIGNED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - nft 0.7: expression.c:966: range_expr_value_low: Assertion '0' failed."
   href="https://bugzilla.netfilter.org/show_bug.cgi?id=1145#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_ASSIGNED "
   title="ASSIGNED - nft 0.7: expression.c:966: range_expr_value_low: Assertion '0' failed."
   href="https://bugzilla.netfilter.org/show_bug.cgi?id=1145">bug 1145</a>
              from <span class="vcard"><a class="email" href="mailto:pablo@netfilter.org" title="Pablo Neira Ayuso <pablo@netfilter.org>"> <span class="fn">Pablo Neira Ayuso</span></a>
</span></b>
        <pre>Thanks for submitting, quick summary on your script file.

This is triggering the bug:

define dnat_ports      = { 1234-1567 }
define port_allow      = {
        53,             # dns
        $dnat_ports,    # dnat
}

that need to be fixed...

Then, if I comment the nested $dnat_ports inside $port_allow, I can see this:

# nft -f rc.nftables-test 
rc.nftables-test:46:17-45: Error: Could not process rule: Invalid argument
                ip protocol @protocol_to_rule;
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rc.nftables-test:47:17-45: Error: Could not process rule: Invalid argument
                ip6 nexthdr @protocol_to_rule;
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
rc.nftables-test:63:17-43: Error: Could not process rule: Invalid argument
                ip protocol @reject_to_rule;
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
rc.nftables-test:64:17-43: Error: Could not process rule: Invalid argument
                ip6 nexthdr @reject_to_rule;
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^

These are maps, so this should be instead:

                ip protocol vmap @protocol_to_rule

"Invalid argument" is not very good, so we can probably get better error
reporting here.

Then, dnat is not supported from postrouting:

rc.nftables-test:83:17-77: Error: Could not process rule: Operation not
supported
                iifname $inet_interface tcp dport $dnat_ports dnat $dnat_host
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are watching all bug changes.</li>
      </ul>
    </body>
</html>