diff options
author | Daniil Baturin <daniil@vyos.io> | 2024-04-18 16:27:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 16:27:56 +0200 |
commit | cc2458dfc74a55034a022f362d95e340b89f5ecd (patch) | |
tree | 5202c65159c9e97014b09a1267f8c62df0a5d2d9 /src/conf_mode/vrf.py | |
parent | e8f93864cf727fef9fc16d50ef79419a5955b656 (diff) | |
parent | 6d15ae068e4764d2f824ea519d4e9bcec8caf373 (diff) | |
download | vyos-1x-cc2458dfc74a55034a022f362d95e340b89f5ecd.tar.gz vyos-1x-cc2458dfc74a55034a022f362d95e340b89f5ecd.zip |
Merge pull request #3329 from vyos/mergify/bp/sagitta/pr-3326
T6221: Return default ip rule values after deleting VRF (backport #3326)
Diffstat (limited to 'src/conf_mode/vrf.py')
-rwxr-xr-x | src/conf_mode/vrf.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py index 1fc813189..587309005 100755 --- a/src/conf_mode/vrf.py +++ b/src/conf_mode/vrf.py @@ -315,6 +315,20 @@ def apply(vrf): for chain, rule in nftables_rules.items(): cmd(f'nft flush chain inet vrf_zones {chain}') + # Return default ip rule values + if 'name' not in vrf: + for afi in ['-4', '-6']: + # move lookup local to pref 0 (from 32765) + if not has_rule(afi, 0, 'local'): + call(f'ip {afi} rule add pref 0 from all lookup local') + if has_rule(afi, 32765, 'local'): + call(f'ip {afi} rule del pref 32765 table local') + + if has_rule(afi, 1000, 'l3mdev'): + call(f'ip {afi} rule del pref 1000 l3mdev protocol kernel') + if has_rule(afi, 2000, 'l3mdev'): + call(f'ip {afi} rule del pref 2000 l3mdev unreachable') + # Apply FRR filters zebra_daemon = 'zebra' # Save original configuration prior to starting any commit actions |