summaryrefslogtreecommitdiff
path: root/src/conf_mode/nat.py
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2020-07-26 14:06:31 +0300
committerDaniil Baturin <daniil@vyos.io>2020-07-26 14:06:31 +0300
commit5f78e67c746e9357cbb59fe066c2b32f34bc92ae (patch)
tree7a392c617c7a008f134a676436eb29eda24c98a4 /src/conf_mode/nat.py
parent9578890e1e4dc31da7387a6ad810d2efb22391e7 (diff)
parent675942ce3e2329a0122da189cd5944df08d7fcab (diff)
downloadvyos-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-xsrc/conf_mode/nat.py17
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)