diff options
author | John Estabrook <jestabro@vyos.io> | 2024-08-01 11:47:31 -0500 |
---|---|---|
committer | Mergify <37929162+mergify[bot]@users.noreply.github.com> | 2024-08-02 13:47:51 +0000 |
commit | a66992d331b6e143f0c5f04291e911233d9da67e (patch) | |
tree | 41f8073a1eb38353fcd761caab0d5ce95971ec45 /src/conf_mode | |
parent | 1982aa3434d0133b5060d0a6df4e636dbf1b98fa (diff) | |
download | vyos-1x-a66992d331b6e143f0c5f04291e911233d9da67e.tar.gz vyos-1x-a66992d331b6e143f0c5f04291e911233d9da67e.zip |
nat64: T6627: call check_kmod within standard config functionmergify/bp/circinus/pr-3927
Functions called from config scripts outside of the standard functions
get_config/verify/generate/apply will not be called when run under
configd. Move as appropriate for the general config script structure and
the specific script requirements.
(cherry picked from commit aeb51976ea23d68d35685bdaa535042a05016185)
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-x | src/conf_mode/nat64.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/conf_mode/nat64.py b/src/conf_mode/nat64.py index 32a1c47d1..df501ce7f 100755 --- a/src/conf_mode/nat64.py +++ b/src/conf_mode/nat64.py @@ -46,7 +46,12 @@ def get_config(config: Config | None = None) -> None: base = ["nat64"] nat64 = config.get_config_dict(base, key_mangling=("-", "_"), get_first_key=True) - base_src = base + ["source", "rule"] + return nat64 + + +def verify(nat64) -> None: + check_kmod(["jool"]) + base_src = ["nat64", "source", "rule"] # Load in existing instances so we can destroy any unknown lines = cmd("jool instance display --csv").splitlines() @@ -76,12 +81,8 @@ def get_config(config: Config | None = None) -> None: ): rules[num]["recreate"] = True - return nat64 - - -def verify(nat64) -> None: if not nat64: - # no need to verify the CLI as nat64 is going to be deactivated + # nothing left to do return if dict_search("source.rule", nat64): @@ -128,6 +129,9 @@ def verify(nat64) -> None: def generate(nat64) -> None: + if not nat64: + return + os.makedirs(JOOL_CONFIG_DIR, exist_ok=True) if dict_search("source.rule", nat64): @@ -184,6 +188,7 @@ def generate(nat64) -> None: def apply(nat64) -> None: if not nat64: + unload_kmod(['jool']) return if dict_search("source.rule", nat64): @@ -211,7 +216,6 @@ def apply(nat64) -> None: if __name__ == "__main__": try: - check_kmod(["jool"]) c = get_config() verify(c) generate(c) |