diff options
| -rw-r--r-- | python/vyos/ifconfig.py | 19 | 
1 files changed, 12 insertions, 7 deletions
| diff --git a/python/vyos/ifconfig.py b/python/vyos/ifconfig.py index b1f9baabe..d5b511f82 100644 --- a/python/vyos/ifconfig.py +++ b/python/vyos/ifconfig.py @@ -407,11 +407,12 @@ class Interface:          >>> from vyos.ifconfig import Interface          >>> Interface('eth0').set_link_detect(1)          """ -        if int(link_filter) >= 0 and int(link_filter) <= 2: -            return self._write_sysfs('/proc/sys/net/ipv4/conf/{0}/link_filter' -                                     .format(self.config['ifname']), link_filter) -        else: -            raise ValueError("Value out of range") +        sysfs_file = '/proc/sys/net/ipv4/conf/{0}/link_filter'.format(self.config['ifname']) +        if os.path.exists(sysfs_file): +            if int(link_filter) >= 0 and int(link_filter) <= 2: +                return self._write_sysfs(sysfs_file, link_filter) +            else: +                raise ValueError("Value out of range")      def set_alias(self, ifalias=None):          """ @@ -1218,8 +1219,12 @@ class EthernetIf(VLANIf):          >>> i.get_driver_name()          'vmxnet3'          """ -        link = os.readlink('/sys/class/net/{}/device/driver/module'.format(self.config['ifname'])) -        return os.path.basename(link) +        sysfs_file = '/sys/class/net/{}/device/driver/module'.format(self.config['ifname']) +        if os.path.exists(sysfs_file): +            link = os.readlink(sysfs_file) +            return os.path.basename(link) +        else: +            return None      def set_flow_control(self, enable):          """ | 
