]>
git.proxmox.com Git - mirror_ifupdown2.git/blob - ifupdown2/ifupdown/ifupdownbase.py
3 # Copyright 2014-2017 Cumulus Networks, Inc. All rights reserved.
4 # Author: Roopa Prabhu, roopa@cumulusnetworks.com
7 # base object for various ifupdown objects
16 from ifupdown2
.ifupdown
.netlink
import netlink
18 import ifupdown2
.ifupdown
.ifupdownflags
as ifupdownflags
20 from ifupdown
.netlink
import netlink
22 import ifupdown
.ifupdownflags
as ifupdownflags
25 class ifupdownBase(object):
28 modulename
= self
.__class
__.__name
__
29 self
.logger
= logging
.getLogger('ifupdown.' + modulename
)
31 def ignore_error(self
, errmsg
):
32 if (ifupdownflags
.flags
.FORCE
== True or re
.search(r
'exists', errmsg
,
33 re
.IGNORECASE | re
.MULTILINE
) is not None):
37 def log_warn(self
, str):
38 if self
.ignore_error(str) == False:
39 if self
.logger
.getEffectiveLevel() == logging
.DEBUG
:
40 traceback
.print_stack()
45 def log_error(self
, str):
46 if self
.ignore_error(str) == False:
51 def link_exists(self
, ifacename
):
52 return os
.path
.exists('/sys/class/net/%s' %ifacename
)
54 def link_up(self
, ifacename
):
55 netlink
.link_set_updown(ifacename
, "up")
57 def link_down(self
, ifacename
):
58 netlink
.link_set_updown(ifacename
, "down")