diff --git a/daemon/core/services/frr.py b/daemon/core/services/frr.py index 0915b0e9..472eae51 100644 --- a/daemon/core/services/frr.py +++ b/daemon/core/services/frr.py @@ -131,7 +131,7 @@ class FRRZebra(CoreService): frr_sbin_search = node.session.options.get_config( "frr_sbin_search", default='"/usr/local/sbin /usr/sbin /usr/lib/frr"' ) - return """\ + cfg = """\ #!/bin/sh # auto-generated by zebra service (frr.py) FRR_CONF=%s @@ -225,6 +225,7 @@ if [ "$1" != "zebra" ]; then echo "WARNING: '$1': all FRR daemons are launched by the 'zebra' service!" exit 1 fi + confcheck bootfrr """ % ( @@ -233,6 +234,11 @@ bootfrr frr_bin_search, constants.FRR_STATE_DIR, ) + for ifc in node.netifs(): + cfg += f"ip link set dev {ifc.name} down\n" + cfg += "sleep 1\n" + cfg += f"ip link set dev {ifc.name} up\n" + return cfg @classmethod def generateFrrDaemons(cls, node):