diff options
author | Daniil Baturin <daniil@vyos.io> | 2020-07-26 14:06:31 +0300 |
---|---|---|
committer | Daniil Baturin <daniil@vyos.io> | 2020-07-26 14:06:31 +0300 |
commit | 5f78e67c746e9357cbb59fe066c2b32f34bc92ae (patch) | |
tree | 7a392c617c7a008f134a676436eb29eda24c98a4 /src/conf_mode/nat.py | |
parent | 9578890e1e4dc31da7387a6ad810d2efb22391e7 (diff) | |
parent | 675942ce3e2329a0122da189cd5944df08d7fcab (diff) | |
download | vyos-1x-5f78e67c746e9357cbb59fe066c2b32f34bc92ae.tar.gz vyos-1x-5f78e67c746e9357cbb59fe066c2b32f34bc92ae.zip |
Merge branch 'current' of https://github.com/vyos/vyos-1x into current
Diffstat (limited to 'src/conf_mode/nat.py')
-rwxr-xr-x | src/conf_mode/nat.py | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/conf_mode/nat.py b/src/conf_mode/nat.py index 2299717a8..dd34dfd66 100755 --- a/src/conf_mode/nat.py +++ b/src/conf_mode/nat.py @@ -24,13 +24,17 @@ from netifaces import interfaces from vyos.config import Config from vyos.template import render -from vyos.util import call, cmd +from vyos.util import call +from vyos.util import cmd +from vyos.util import check_kmod from vyos.validate import is_addr_assigned from vyos import ConfigError from vyos import airbag airbag.enable() +k_mod = ['nft_nat', 'nft_chain_nat_ipv4'] + default_config_data = { 'deleted': False, 'destination': [], @@ -44,15 +48,6 @@ default_config_data = { iptables_nat_config = '/tmp/vyos-nat-rules.nft' -def _check_kmod(): - """ load required Kernel modules """ - modules = ['nft_nat', 'nft_chain_nat_ipv4'] - for module in modules: - if not os.path.exists(f'/sys/module/{module}'): - if call(f'modprobe {module}') != 0: - raise ConfigError(f'Loading Kernel module {module} failed') - - def get_handler(json, chain, target): """ Get nftable rule handler number of given chain/target combination. Handler is required when adding NAT/Conntrack helper targets """ @@ -269,7 +264,7 @@ def apply(nat): if __name__ == '__main__': try: - _check_kmod() + check_kmod(k_mod) c = get_config() verify(c) generate(c) |