1
0
mirror of https://github.com/CumulusNetworks/ifupdown2.git synced 2024-05-06 15:54:50 +00:00

batman_adv: don't load module if missing batctl

This commit is contained in:
Alexandre Derumier
2019-05-10 06:28:17 +02:00
parent 3e8a915365
commit 3e074210cf

View File

@@ -10,19 +10,22 @@ try:
from ifupdown2.ifupdownaddons.modulebase import moduleBase from ifupdown2.ifupdownaddons.modulebase import moduleBase
from ifupdown2.ifupdownaddons.LinkUtils import LinkUtils from ifupdown2.ifupdownaddons.LinkUtils import LinkUtils
from ifupdown2.ifupdown.netlink import netlink from ifupdown2.ifupdown.netlink import netlink
from ifupdown2.ifupdown.exceptions import moduleNotSupported
import ifupdown2.ifupdown.ifupdownflags as ifupdownflags import ifupdown2.ifupdown.ifupdownflags as ifupdownflags
except: except:
from ifupdown.iface import * from ifupdown.iface import *
from ifupdown.utils import utils from ifupdown.utils import utils
from ifupdownaddons.modulebase import moduleBase from ifupdownaddons.modulebase import moduleBase
from ifupdownaddons.LinkUtils import LinkUtils from ifupdownaddons.LinkUtils import LinkUtils
from ifupdown.netlink import netlink from ifupdown.netlink import netlink
from ifupdown.exceptions import moduleNotSupported
import ifupdown.ifupdownflags as ifupdownflags import ifupdown.ifupdownflags as ifupdownflags
import logging import logging
import re import re
import subprocess import subprocess
import os
class batman_adv (moduleBase): class batman_adv (moduleBase):
""" ifupdown2 addon module to configure B.A.T.M.A.N. advanced interfaces """ """ ifupdown2 addon module to configure B.A.T.M.A.N. advanced interfaces """
@@ -83,6 +86,8 @@ class batman_adv (moduleBase):
def __init__ (self, *args, **kargs): def __init__ (self, *args, **kargs):
moduleBase.__init__ (self, *args, **kargs) moduleBase.__init__ (self, *args, **kargs)
if not os.path.exists('/usr/sbin/batctl'):
raise moduleNotSupported('module init failed: no /usr/sbin/batctl found')
self.ipcmd = None self.ipcmd = None
for longname, entry in self._modinfo['attrs'].items (): for longname, entry in self._modinfo['attrs'].items ():