summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/conf_mode/interfaces_bonding.py8
-rwxr-xr-xsrc/conf_mode/interfaces_ethernet.py7
-rwxr-xr-xsrc/conf_mode/policy.py5
-rwxr-xr-xsrc/conf_mode/protocols_babel.py5
-rwxr-xr-xsrc/conf_mode/protocols_bfd.py5
-rwxr-xr-xsrc/conf_mode/protocols_bgp.py5
-rwxr-xr-xsrc/conf_mode/protocols_eigrp.py5
-rwxr-xr-xsrc/conf_mode/protocols_isis.py5
-rwxr-xr-xsrc/conf_mode/protocols_mpls.py5
-rw-r--r--src/conf_mode/protocols_openfabric.py5
-rwxr-xr-xsrc/conf_mode/protocols_ospf.py5
-rwxr-xr-xsrc/conf_mode/protocols_ospfv3.py5
-rwxr-xr-xsrc/conf_mode/protocols_pim.py5
-rwxr-xr-xsrc/conf_mode/protocols_pim6.py5
-rwxr-xr-xsrc/conf_mode/protocols_rip.py5
-rwxr-xr-xsrc/conf_mode/protocols_ripng.py5
-rwxr-xr-xsrc/conf_mode/protocols_rpki.py2
-rwxr-xr-xsrc/conf_mode/protocols_segment-routing.py5
-rwxr-xr-xsrc/conf_mode/protocols_static.py5
-rwxr-xr-xsrc/conf_mode/system_ip.py5
-rwxr-xr-xsrc/conf_mode/system_ipv6.py5
-rwxr-xr-xsrc/conf_mode/vrf.py5
22 files changed, 66 insertions, 46 deletions
diff --git a/src/conf_mode/interfaces_bonding.py b/src/conf_mode/interfaces_bonding.py
index 5f839b33c..0844d2913 100755
--- a/src/conf_mode/interfaces_bonding.py
+++ b/src/conf_mode/interfaces_bonding.py
@@ -39,9 +39,11 @@ from vyos.utils.assertion import assert_mac
from vyos.utils.dict import dict_search
from vyos.utils.dict import dict_to_paths_values
from vyos.utils.network import interface_exists
+from vyos.utils.process import is_systemd_service_running
from vyos.configdict import has_address_configured
from vyos.configdict import has_vrf_configured
-from vyos.configdep import set_dependents, call_dependents
+from vyos.configdep import set_dependents
+from vyos.configdep import call_dependents
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -263,12 +265,12 @@ def verify(bond):
return None
def generate(bond):
- if 'frr_dict' in bond and 'frrender_cls' not in bond['frr_dict']:
+ if 'frr_dict' in bond and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(bond['frr_dict'])
return None
def apply(bond):
- if 'frr_dict' in bond and 'frrender_cls' not in bond['frr_dict']:
+ if 'frr_dict' in bond and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
b = BondIf(bond['ifname'])
diff --git a/src/conf_mode/interfaces_ethernet.py b/src/conf_mode/interfaces_ethernet.py
index accfb6b8e..5024e6982 100755
--- a/src/conf_mode/interfaces_ethernet.py
+++ b/src/conf_mode/interfaces_ethernet.py
@@ -41,6 +41,7 @@ from vyos.utils.dict import dict_search
from vyos.utils.dict import dict_to_paths_values
from vyos.utils.dict import dict_set
from vyos.utils.dict import dict_delete
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -321,14 +322,13 @@ def verify_ethernet(ethernet):
return None
def generate(ethernet):
- if 'frr_dict' in ethernet and 'frrender_cls' not in ethernet['frr_dict']:
+ if 'frr_dict' in ethernet and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(ethernet['frr_dict'])
return None
def apply(ethernet):
- if 'frr_dict' in ethernet and 'frrender_cls' not in ethernet['frr_dict']:
+ if 'frr_dict' in ethernet and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
-
e = EthernetIf(ethernet['ifname'])
if 'deleted' in ethernet:
e.remove()
@@ -341,7 +341,6 @@ if __name__ == '__main__':
c = get_config()
verify(c)
generate(c)
-
apply(c)
except ConfigError as e:
print(e)
diff --git a/src/conf_mode/policy.py b/src/conf_mode/policy.py
index 4abb150ac..5e71a612d 100755
--- a/src/conf_mode/policy.py
+++ b/src/conf_mode/policy.py
@@ -22,6 +22,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.frrender import frr_protocols
from vyos.utils.dict import dict_search
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -262,12 +263,12 @@ def verify(config_dict):
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_babel.py b/src/conf_mode/protocols_babel.py
index af0751e02..48b7ae734 100755
--- a/src/conf_mode/protocols_babel.py
+++ b/src/conf_mode/protocols_babel.py
@@ -23,6 +23,7 @@ from vyos.configverify import verify_access_list
from vyos.configverify import verify_prefix_list
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -89,12 +90,12 @@ def verify(config_dict):
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_bfd.py b/src/conf_mode/protocols_bfd.py
index 623801897..2e7d40676 100755
--- a/src/conf_mode/protocols_bfd.py
+++ b/src/conf_mode/protocols_bfd.py
@@ -21,6 +21,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.template import is_ipv6
from vyos.utils.network import is_ipv6_link_local
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -77,11 +78,11 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_bgp.py b/src/conf_mode/protocols_bgp.py
index db3123bd3..ae32dd839 100755
--- a/src/conf_mode/protocols_bgp.py
+++ b/src/conf_mode/protocols_bgp.py
@@ -30,6 +30,7 @@ from vyos.template import is_interface
from vyos.utils.dict import dict_search
from vyos.utils.network import get_interface_vrf
from vyos.utils.network import is_addr_assigned
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.process import process_named_running
from vyos import ConfigError
from vyos import airbag
@@ -554,12 +555,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_eigrp.py b/src/conf_mode/protocols_eigrp.py
index 33812d350..8f49bb151 100755
--- a/src/conf_mode/protocols_eigrp.py
+++ b/src/conf_mode/protocols_eigrp.py
@@ -21,6 +21,7 @@ from vyos.config import Config
from vyos.configdict import get_frrender_dict
from vyos.configverify import has_frr_protocol_in_dict
from vyos.configverify import verify_vrf
+from vyos.utils.process import is_systemd_service_running
from vyos.frrender import FRRender
from vyos import ConfigError
from vyos import airbag
@@ -53,12 +54,12 @@ def verify(config_dict):
verify_vrf({'vrf': vrf})
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_isis.py b/src/conf_mode/protocols_isis.py
index 7a54685bb..1e5f0d6e8 100755
--- a/src/conf_mode/protocols_isis.py
+++ b/src/conf_mode/protocols_isis.py
@@ -26,6 +26,7 @@ from vyos.frrender import FRRender
from vyos.ifconfig import Interface
from vyos.utils.dict import dict_search
from vyos.utils.network import get_interface_config
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -232,12 +233,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_mpls.py b/src/conf_mode/protocols_mpls.py
index bab9648c4..e8097b7ff 100755
--- a/src/conf_mode/protocols_mpls.py
+++ b/src/conf_mode/protocols_mpls.py
@@ -25,6 +25,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
from vyos.utils.file import read_file
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.system import sysctl_write
from vyos.configverify import verify_interface_exists
from vyos import ConfigError
@@ -67,12 +68,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
if not has_frr_protocol_in_dict(config_dict, 'mpls'):
diff --git a/src/conf_mode/protocols_openfabric.py b/src/conf_mode/protocols_openfabric.py
index 48c89d742..41c5d9544 100644
--- a/src/conf_mode/protocols_openfabric.py
+++ b/src/conf_mode/protocols_openfabric.py
@@ -21,6 +21,7 @@ from vyos.config import Config
from vyos.configdict import get_frrender_dict
from vyos.configverify import verify_interface_exists
from vyos.configverify import has_frr_protocol_in_dict
+from vyos.utils.process import is_systemd_service_running
from vyos.frrender import FRRender
from vyos import ConfigError
from vyos import airbag
@@ -89,12 +90,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_ospf.py b/src/conf_mode/protocols_ospf.py
index 9d35aa007..f2c95a63c 100755
--- a/src/conf_mode/protocols_ospf.py
+++ b/src/conf_mode/protocols_ospf.py
@@ -27,6 +27,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
from vyos.utils.network import get_interface_config
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -176,12 +177,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_ospfv3.py b/src/conf_mode/protocols_ospfv3.py
index c6b042b54..ac189c378 100755
--- a/src/conf_mode/protocols_ospfv3.py
+++ b/src/conf_mode/protocols_ospfv3.py
@@ -27,6 +27,7 @@ from vyos.frrender import FRRender
from vyos.ifconfig import Interface
from vyos.utils.dict import dict_search
from vyos.utils.network import get_interface_config
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -87,12 +88,12 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_pim.py b/src/conf_mode/protocols_pim.py
index c40b9d86a..477895b0b 100755
--- a/src/conf_mode/protocols_pim.py
+++ b/src/conf_mode/protocols_pim.py
@@ -27,6 +27,7 @@ from vyos.configverify import verify_interface_exists
from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.frrender import pim_daemon
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.process import process_named_running
from vyos.utils.process import call
from vyos import ConfigError
@@ -86,7 +87,7 @@ def verify(config_dict):
unique.append(gr_addr)
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
@@ -103,7 +104,7 @@ def apply(config_dict):
if not pim_pid:
call('/usr/lib/frr/pimd -d -F traditional --daemon -A 127.0.0.1')
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_pim6.py b/src/conf_mode/protocols_pim6.py
index ff8fa38c3..3a9b876cc 100755
--- a/src/conf_mode/protocols_pim6.py
+++ b/src/conf_mode/protocols_pim6.py
@@ -22,6 +22,7 @@ from vyos.config import Config
from vyos.configdict import get_frrender_dict
from vyos.configverify import has_frr_protocol_in_dict
from vyos.configverify import verify_interface_exists
+from vyos.utils.process import is_systemd_service_running
from vyos.frrender import FRRender
from vyos import ConfigError
from vyos import airbag
@@ -75,12 +76,12 @@ def verify(config_dict):
unique.append(gr_addr)
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_rip.py b/src/conf_mode/protocols_rip.py
index 38108c9f5..39743f965 100755
--- a/src/conf_mode/protocols_rip.py
+++ b/src/conf_mode/protocols_rip.py
@@ -24,6 +24,7 @@ from vyos.configverify import verify_access_list
from vyos.configverify import verify_prefix_list
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -68,12 +69,12 @@ def verify(config_dict):
f'with "split-horizon disable" for "{interface}"!')
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_ripng.py b/src/conf_mode/protocols_ripng.py
index 46f3ce014..14f038444 100755
--- a/src/conf_mode/protocols_ripng.py
+++ b/src/conf_mode/protocols_ripng.py
@@ -24,6 +24,7 @@ from vyos.configverify import verify_access_list
from vyos.configverify import verify_prefix_list
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
@@ -68,12 +69,12 @@ def verify(config_dict):
f'with "split-horizon disable" for "{interface}"!')
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_rpki.py b/src/conf_mode/protocols_rpki.py
index 4aefbe36c..5ad656586 100755
--- a/src/conf_mode/protocols_rpki.py
+++ b/src/conf_mode/protocols_rpki.py
@@ -26,8 +26,8 @@ from vyos.frrender import FRRender
from vyos.pki import wrap_openssh_public_key
from vyos.pki import wrap_openssh_private_key
from vyos.utils.dict import dict_search_args
-from vyos.utils.process import is_systemd_service_running
from vyos.utils.file import write_file
+from vyos.utils.process import is_systemd_service_running
from vyos import ConfigError
from vyos import airbag
airbag.enable()
diff --git a/src/conf_mode/protocols_segment-routing.py b/src/conf_mode/protocols_segment-routing.py
index cc42e5ac7..99cf87556 100755
--- a/src/conf_mode/protocols_segment-routing.py
+++ b/src/conf_mode/protocols_segment-routing.py
@@ -23,6 +23,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.frrender import FRRender
from vyos.ifconfig import Section
from vyos.utils.dict import dict_search
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.system import sysctl_write
from vyos import ConfigError
from vyos import airbag
@@ -54,7 +55,7 @@ def verify(config_dict):
return None
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
@@ -88,7 +89,7 @@ def apply(config_dict):
else:
sysctl_write(f'net.ipv6.conf.{interface}.seg6_enabled', '0')
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/protocols_static.py b/src/conf_mode/protocols_static.py
index 29fa530f4..9d02db6dd 100755
--- a/src/conf_mode/protocols_static.py
+++ b/src/conf_mode/protocols_static.py
@@ -24,6 +24,7 @@ from vyos.configverify import has_frr_protocol_in_dict
from vyos.configverify import verify_common_route_maps
from vyos.configverify import verify_vrf
from vyos.frrender import FRRender
+from vyos.utils.process import is_systemd_service_running
from vyos.template import render
from vyos import ConfigError
from vyos import airbag
@@ -94,12 +95,12 @@ def generate(config_dict):
# Put routing table names in /etc/iproute2/rt_tables
render(config_file, 'iproute2/static.conf.j2', static)
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
def apply(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None
diff --git a/src/conf_mode/system_ip.py b/src/conf_mode/system_ip.py
index 374e6e611..86843eb78 100755
--- a/src/conf_mode/system_ip.py
+++ b/src/conf_mode/system_ip.py
@@ -25,6 +25,7 @@ from vyos.configverify import verify_route_map
from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
from vyos.utils.process import is_systemd_service_active
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.system import sysctl_write
from vyos import ConfigError
from vyos import airbag
@@ -55,7 +56,7 @@ def verify(config_dict):
return
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
@@ -109,7 +110,7 @@ def apply(config_dict):
# running when this script is called first. Skip this part and wait for initial
# commit of the configuration to trigger this statement
if is_systemd_service_active('frr.service'):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
call_dependents()
diff --git a/src/conf_mode/system_ipv6.py b/src/conf_mode/system_ipv6.py
index 02c9a8201..593b8f7f3 100755
--- a/src/conf_mode/system_ipv6.py
+++ b/src/conf_mode/system_ipv6.py
@@ -27,6 +27,7 @@ from vyos.frrender import FRRender
from vyos.utils.dict import dict_search
from vyos.utils.file import write_file
from vyos.utils.process import is_systemd_service_active
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.system import sysctl_write
from vyos import ConfigError
from vyos import airbag
@@ -57,7 +58,7 @@ def verify(config_dict):
return
def generate(config_dict):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(config_dict)
return None
@@ -93,7 +94,7 @@ def apply(config_dict):
# running when this script is called first. Skip this part and wait for initial
# commit of the configuration to trigger this statement
if is_systemd_service_active('frr.service'):
- if config_dict and 'frrender_cls' not in config_dict:
+ if config_dict and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
call_dependents()
diff --git a/src/conf_mode/vrf.py b/src/conf_mode/vrf.py
index 1b19c55d2..6533f493f 100755
--- a/src/conf_mode/vrf.py
+++ b/src/conf_mode/vrf.py
@@ -32,6 +32,7 @@ from vyos.utils.network import get_vrf_members
from vyos.utils.network import interface_exists
from vyos.utils.process import call
from vyos.utils.process import cmd
+from vyos.utils.process import is_systemd_service_running
from vyos.utils.process import popen
from vyos.utils.system import sysctl_write
from vyos import ConfigError
@@ -198,7 +199,7 @@ def generate(vrf):
# Render iproute2 VR helper names
render(config_file, 'iproute2/vrf.conf.j2', vrf)
- if 'frr_dict' in vrf and 'frrender_cls' not in vrf['frr_dict']:
+ if 'frr_dict' in vrf and not is_systemd_service_running('vyos-configd.service'):
FRRender().generate(vrf['frr_dict'])
return None
@@ -341,7 +342,7 @@ def apply(vrf):
if has_rule(afi, 2000, 'l3mdev'):
call(f'ip {afi} rule del pref 2000 l3mdev unreachable')
- if 'frr_dict' in vrf and 'frrender_cls' not in vrf['frr_dict']:
+ if 'frr_dict' in vrf and not is_systemd_service_running('vyos-configd.service'):
FRRender().apply()
return None