diff options
| author | jack9603301 <jack9603301@163.com> | 2021-01-22 13:16:55 +0800 |
|---|---|---|
| committer | jack9603301 <jack9603301@163.com> | 2021-01-23 21:45:31 +0800 |
| commit | d05593e68ff0978c278b13a42f246edcfad3902d (patch) | |
| tree | 6f3cb7f58fb796c369f80d7d1bf023001617b5ab /src/conf_mode | |
| parent | 88a6a034b1cb6a1a43c689281df92831d82c996c (diff) | |
| download | vyos-1x-d05593e68ff0978c278b13a42f246edcfad3902d.tar.gz vyos-1x-d05593e68ff0978c278b13a42f246edcfad3902d.zip | |
nptv6: T2518: Optimized implementation
Diffstat (limited to 'src/conf_mode')
| -rwxr-xr-x | src/conf_mode/nat66.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/conf_mode/nat66.py b/src/conf_mode/nat66.py index a5c74259f..7190961e8 100755 --- a/src/conf_mode/nat66.py +++ b/src/conf_mode/nat66.py @@ -151,10 +151,16 @@ def generate(nat): return None def apply(nat): - cmd(f'{iptables_nat_config}') - cmd('systemctl restart ndppd') - if os.path.isfile(iptables_nat_config): - os.unlink(iptables_nat_config) + if not nat: + return None + else: + cmd(f'{iptables_nat_config}') + if 'deleted' in nat or not dict_search('source.rule', nat): + cmd('systemctl stop ndppd') + else: + cmd('systemctl restart ndppd') + if os.path.isfile(iptables_nat_config): + os.unlink(iptables_nat_config) return None |
