diff options
Diffstat (limited to 'src')
| -rwxr-xr-x | src/helpers/vyos-load-balancer.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/helpers/vyos-load-balancer.py b/src/helpers/vyos-load-balancer.py index 4417c04d5..8cb792a5d 100755 --- a/src/helpers/vyos-load-balancer.py +++ b/src/helpers/vyos-load-balancer.py @@ -204,8 +204,11 @@ def cleanup(lb): index = 1 for ifname, health_conf in lb['interface_health'].items(): table_num = lb['mark_offset'] + index + suppress_prio = lb['mark_offset'] + index + table_prio = suppress_prio + 100 run(f'ip route del table {table_num} default') - run(f'ip rule del fwmark {hex(table_num)} table {table_num}') + run(f'ip rule del priority {suppress_prio}') + run(f'ip rule del priority {table_prio}') index += 1 run(f'nft delete table ip vyos_wanloadbalance') @@ -263,7 +266,10 @@ if __name__ == '__main__': else: run(f'ip route replace table {table_num} default dev {ifname} via {health_conf["nexthop"]}') - run(f'ip rule add fwmark {hex(table_num)} table {table_num}') + suppress_prio = lb['mark_offset'] + index + table_prio = suppress_prio + 100 + run(f'ip rule add fwmark {hex(table_num)} table main suppress_prefixlength 0 priority {suppress_prio}') + run(f'ip rule add fwmark {hex(table_num)} table {table_num} priority {table_prio}') index += 1 |
