Page MenuHomeVyOS Platform

PBR commit fail with traceback if non-existing VRF added
Closed, ResolvedPublicBUG

Description

When configuring a policy route rule with set vrf <name> and add a non-existing vrf, commit fails

vyos@vyos# set policy route RET rule 10 set vrf RED
[edit]
vyos@vyos# commit
[ policy route RET ]
Traceback (most recent call last):
  File "/usr/libexec/vyos/services/vyos-configd", line 156, in run_script
    script.generate(c)
  File "/usr/libexec/vyos/conf_mode/policy_route.py", line 192, in generate
    render(nftables_conf, 'firewall/nftables-policy.j2', policy)
  File "/usr/lib/python3/dist-packages/vyos/template.py", line 174, in render
    rendered = render_to_string(template, content, formater, location)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/template.py", line 143, in render_to_string
    rendered = template.render(content)
               ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 1301, in render
    self.environment.handle_exception()
  File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 936, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "/usr/share/vyos/templates/firewall/nftables-policy.j2", line 28, in top-level template code
    {{ rule_conf | nft_rule('route', route_text, rule_id, 'ip') }}
    ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/template.py", line 607, in nft_rule
    return parse_rule(rule_conf, fw_hook, fw_name, rule_id, ip_name)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/vyos/firewall.py", line 586, in parse_rule
    mark = 0x7FFFFFFF - int(table)
                        ^^^^^^^^^^
TypeError: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

Details

Version
Stricter validation
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)
Forum thread
VyOS 2026.03.10-0024-rolling