summaryrefslogtreecommitdiff
path: root/python/netlink/route
diff options
context:
space:
mode:
Diffstat (limited to 'python/netlink/route')
-rw-r--r--python/netlink/route/address.py17
-rw-r--r--python/netlink/route/link.py54
-rw-r--r--python/netlink/route/links/dummy.py5
-rw-r--r--python/netlink/route/links/inet.py16
-rw-r--r--python/netlink/route/qdisc/htb.py2
-rw-r--r--python/netlink/route/tc.py43
6 files changed, 75 insertions, 62 deletions
diff --git a/python/netlink/route/address.py b/python/netlink/route/address.py
index e8e2f875..1b493fdc 100644
--- a/python/netlink/route/address.py
+++ b/python/netlink/route/address.py
@@ -15,7 +15,6 @@ __all__ = [
import datetime
from .. import core as netlink
-from .. import capi as core_capi
from . import capi as capi
from . import link as Link
from .. import util as util
@@ -48,10 +47,12 @@ class AddressCache(netlink.Cache):
return Address._from_capi(addr)
- def _new_object(self, obj):
+ @staticmethod
+ def _new_object(obj):
return Address(obj)
- def _new_cache(self, cache):
+ @staticmethod
+ def _new_cache(cache):
return AddressCache(cache=cache)
###########################################################################
@@ -67,7 +68,8 @@ class Address(netlink.Object):
def _from_capi(cls, obj):
return cls(capi.addr2obj(obj))
- def _obj2type(self, obj):
+ @staticmethod
+ def _obj2type(obj):
return capi.obj2addr(obj)
def __cmp__(self, other):
@@ -84,7 +86,8 @@ class Address(netlink.Object):
return diff
- def _new_instance(self, obj):
+ @staticmethod
+ def _new_instance(obj):
return Address(obj)
#####################################################################
@@ -191,8 +194,8 @@ class Address(netlink.Object):
@family.setter
def family(self, value):
- if not isinstance(value, AddressFamily):
- value = AddressFamily(value)
+ if not isinstance(value, netlink.AddressFamily):
+ value = netlink.AddressFamily(value)
capi.rtnl_addr_set_family(self._rtnl_addr, int(value))
diff --git a/python/netlink/route/link.py b/python/netlink/route/link.py
index 4c213d08..66c0ab8a 100644
--- a/python/netlink/route/link.py
+++ b/python/netlink/route/link.py
@@ -44,7 +44,6 @@ __all__ = [
]
import socket
-import sys
from .. import core as netlink
from .. import capi as core_capi
from . import capi as capi
@@ -136,7 +135,8 @@ class LinkCache(netlink.Cache):
else:
return Link.from_capi(link)
- def _new_object(self, obj):
+ @staticmethod
+ def _new_object(obj):
return Link(obj)
def _new_cache(self, cache):
@@ -161,13 +161,15 @@ class Link(netlink.Object):
def from_capi(cls, obj):
return cls(capi.link2obj(obj))
- def _obj2type(self, obj):
+ @staticmethod
+ def _obj2type(obj):
return capi.obj2link(obj)
def __cmp__(self, other):
return self.ifindex - other.ifindex
- def _new_instance(self, obj):
+ @staticmethod
+ def _new_instance(obj):
if not obj:
raise ValueError()
@@ -344,8 +346,8 @@ class Link(netlink.Object):
@property
def arptype(self):
"""Type of link (cannot be changed)"""
- type = capi.rtnl_link_get_arptype(self._rtnl_link)
- return core_capi.nl_llproto2str(type, 64)[0]
+ type_ = capi.rtnl_link_get_arptype(self._rtnl_link)
+ return core_capi.nl_llproto2str(type_, 64)[0]
@arptype.setter
def arptype(self, value):
@@ -364,7 +366,7 @@ class Link(netlink.Object):
@operstate.setter
def operstate(self, value):
- i = capi.rtnl_link_str2operstate(flag)
+ i = capi.rtnl_link_str2operstate(value)
capi.rtnl_link_set_operstate(self._rtnl_link, i)
#####################################################################
@@ -378,7 +380,7 @@ class Link(netlink.Object):
@mode.setter
def mode(self, value):
- i = capi.rtnl_link_str2mode(flag)
+ i = capi.rtnl_link_str2mode(value)
capi.rtnl_link_set_linkmode(self._rtnl_link, i)
#####################################################################
@@ -421,38 +423,38 @@ class Link(netlink.Object):
#####################################################################
# add()
- def add(self, socket=None, flags=None):
- if not socket:
- socket = netlink.lookup_socket(netlink.NETLINK_ROUTE)
+ def add(self, sock=None, flags=None):
+ if not sock:
+ sock = netlink.lookup_socket(netlink.NETLINK_ROUTE)
if not flags:
flags = netlink.NLM_F_CREATE
- ret = capi.rtnl_link_add(socket._sock, self._rtnl_link, flags)
+ ret = capi.rtnl_link_add(sock._sock, self._rtnl_link, flags)
if ret < 0:
raise netlink.KernelError(ret)
#####################################################################
# change()
- def change(self, socket=None, flags=0):
+ def change(self, sock=None, flags=0):
"""Commit changes made to the link object"""
- if not socket:
- socket = netlink.lookup_socket(netlink.NETLINK_ROUTE)
+ if sock is None:
+ sock = netlink.lookup_socket(netlink.NETLINK_ROUTE)
if not self._orig:
- raise NetlinkError('Original link not available')
- ret = capi.rtnl_link_change(socket._sock, self._orig, self._rtnl_link, flags)
+ raise netlink.NetlinkError('Original link not available')
+ ret = capi.rtnl_link_change(sock._sock, self._orig, self._rtnl_link, flags)
if ret < 0:
raise netlink.KernelError(ret)
#####################################################################
# delete()
- def delete(self, socket=None):
+ def delete(self, sock=None):
"""Attempt to delete this link in the kernel"""
- if not socket:
- socket = netlink.lookup_socket(netlink.NETLINK_ROUTE)
+ if sock is None:
+ sock = netlink.lookup_socket(netlink.NETLINK_ROUTE)
- ret = capi.rtnl_link_delete(socket._sock, self._rtnl_link)
+ ret = capi.rtnl_link_delete(sock._sock, self._rtnl_link)
if ret < 0:
raise netlink.KernelError(ret)
@@ -567,21 +569,21 @@ class Link(netlink.Object):
row[0] = util.kw(row[0])
row[1] = self.get_stat(row[1]) if row[1] else ''
row[2] = self.get_stat(row[2]) if row[2] else ''
- buf += '\t{0:27} {1:>16} {2:>16}\n'.format(*row)
+ buf += '\t{0[0]:27} {0[1]:>16} {0[2]:>16}\n'.format(row)
buf += self._foreach_af('stats')
return buf
-def get(name, socket=None):
+def get(name, sock=None):
"""Lookup Link object directly from kernel"""
if not name:
raise ValueError()
- if not socket:
- socket = netlink.lookup_socket(netlink.NETLINK_ROUTE)
+ if not sock:
+ sock = netlink.lookup_socket(netlink.NETLINK_ROUTE)
- link = capi.get_from_kernel(socket._sock, 0, name)
+ link = capi.get_from_kernel(sock._sock, 0, name)
if not link:
return None
diff --git a/python/netlink/route/links/dummy.py b/python/netlink/route/links/dummy.py
index c9253cf6..e9491cc6 100644
--- a/python/netlink/route/links/dummy.py
+++ b/python/netlink/route/links/dummy.py
@@ -13,13 +13,12 @@ __all__ = [
]
-from ... import core as netlink
-from .. import capi as capi
class DummyLink(object):
def __init__(self, link):
self._rtnl_link = link
- def brief(self):
+ @staticmethod
+ def brief():
return 'dummy'
def init(link):
diff --git a/python/netlink/route/links/inet.py b/python/netlink/route/links/inet.py
index 8f89b4e4..32fe3bc3 100644
--- a/python/netlink/route/links/inet.py
+++ b/python/netlink/route/links/inet.py
@@ -56,7 +56,7 @@ class InetLink(object):
def details(self, fmt):
buf = fmt.nl('\n\t{0}\n\t'.format(util.title('Configuration:')))
- for i in range(DEVCONF_FORWARDING,DEVCONF_MAX+1):
+ for i in range(DEVCONF_FORWARDING, DEVCONF_MAX+1):
if i & 1 and i > 1:
buf += fmt.nl('\t')
txt = util.kw(capi.rtnl_link_inet_devconf2str(i, 32)[0])
@@ -73,7 +73,7 @@ class InetLink(object):
return capi.rtnl_link_inet_set_conf(self._link._rtnl_link,
_resolve(id), int(value))
- @netlink.nlattr('link.inet.forwarding', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.forwarding', type=bool, fmt=util.boolean)
@property
def forwarding(self):
return bool(self.get_conf(DEVCONF_FORWARDING))
@@ -82,7 +82,7 @@ class InetLink(object):
def forwarding(self, value):
self.set_conf(DEVCONF_FORWARDING, int(value))
- @netlink.nlattr('link.inet.mc_forwarding', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.mc_forwarding', type=bool, fmt=util.boolean)
@property
def mc_forwarding(self):
return bool(self.get_conf(DEVCONF_MC_FORWARDING))
@@ -91,7 +91,7 @@ class InetLink(object):
def mc_forwarding(self, value):
self.set_conf(DEVCONF_MC_FORWARDING, int(value))
- @netlink.nlattr('link.inet.proxy_arp', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.proxy_arp', type=bool, fmt=util.boolean)
@property
def proxy_arp(self):
return bool(self.get_conf(DEVCONF_PROXY_ARP))
@@ -100,7 +100,7 @@ class InetLink(object):
def proxy_arp(self, value):
self.set_conf(DEVCONF_PROXY_ARP, int(value))
- @netlink.nlattr('link.inet.accept_redirects', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.accept_redirects', type=bool, fmt=util.boolean)
@property
def accept_redirects(self):
return bool(self.get_conf(DEVCONF_ACCEPT_REDIRECTS))
@@ -109,7 +109,7 @@ class InetLink(object):
def accept_redirects(self, value):
self.set_conf(DEVCONF_ACCEPT_REDIRECTS, int(value))
- @netlink.nlattr('link.inet.secure_redirects', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.secure_redirects', type=bool, fmt=util.boolean)
@property
def secure_redirects(self):
return bool(self.get_conf(DEVCONF_SECURE_REDIRECTS))
@@ -118,7 +118,7 @@ class InetLink(object):
def secure_redirects(self, value):
self.set_conf(DEVCONF_SECURE_REDIRECTS, int(value))
- @netlink.nlattr('link.inet.send_redirects', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.send_redirects', type=bool, fmt=util.boolean)
@property
def send_redirects(self):
return bool(self.get_conf(DEVCONF_SEND_REDIRECTS))
@@ -127,7 +127,7 @@ class InetLink(object):
def send_redirects(self, value):
self.set_conf(DEVCONF_SEND_REDIRECTS, int(value))
- @netlink.nlattr('link.inet.shared_media', type=bool, fmt=util.bool)
+ @netlink.nlattr('link.inet.shared_media', type=bool, fmt=util.boolean)
@property
def shared_media(self):
return bool(self.get_conf(DEVCONF_SHARED_MEDIA))
diff --git a/python/netlink/route/qdisc/htb.py b/python/netlink/route/qdisc/htb.py
index 799ce480..75f2eaa9 100644
--- a/python/netlink/route/qdisc/htb.py
+++ b/python/netlink/route/qdisc/htb.py
@@ -129,7 +129,7 @@ class HTBClass(object):
@netlink.nlattr('class.htb.level', type=int)
@property
def level(self):
- level = capi.rtnl_htb_get_level(self._class._rtnl_class)
+ return capi.rtnl_htb_get_level(self._class._rtnl_class)
@level.setter
def level(self, value):
diff --git a/python/netlink/route/tc.py b/python/netlink/route/tc.py
index 9a81a671..37005857 100644
--- a/python/netlink/route/tc.py
+++ b/python/netlink/route/tc.py
@@ -12,10 +12,7 @@ __all__ = [
'TcClass',
]
-import socket
-import sys
from .. import core as netlink
-from .. import capi as core_capi
from . import capi as capi
from .. import util as util
from . import link as Link
@@ -231,7 +228,8 @@ class Tc(netlink.Object):
return ret + self._module_brief()
- def details(self):
+ @staticmethod
+ def details():
return '{t|mtu} {t|mpu} {t|overhead} {t|linktype}'
@property
@@ -246,7 +244,8 @@ class Tc(netlink.Object):
def qlen(self):
return self.get_stat(STAT_QLEN)
- def stats(self, fmt):
+ @staticmethod
+ def stats(fmt):
return fmt.nl('{t|packets} {t|bytes} {t|qlen}')
###########################################################################
@@ -272,10 +271,12 @@ class QdiscCache(netlink.Cache):
# else:
# return Qdisc._from_capi(capi.qdisc2obj(qdisc))
- def _new_object(self, obj):
+ @staticmethod
+ def _new_object(obj):
return Qdisc(obj)
- def _new_cache(self, cache):
+ @staticmethod
+ def _new_cache(cache):
return QdiscCache(cache=cache)
###########################################################################
@@ -300,10 +301,12 @@ class Qdisc(Tc):
def from_capi(cls, obj):
return cls(capi.qdisc2obj(obj))
- def _obj2type(self, obj):
+ @staticmethod
+ def _obj2type(obj):
return capi.obj2qdisc(obj)
- def _new_instance(self, obj):
+ @staticmethod
+ def _new_instance(obj):
if not obj:
raise ValueError()
@@ -439,7 +442,8 @@ class TcClassCache(netlink.Cache):
self._nl_cache = cache
self._set_arg1(ifindex)
- def _new_object(self, obj):
+ @staticmethod
+ def _new_object(obj):
return TcClass(obj)
def _new_cache(self, cache):
@@ -467,10 +471,12 @@ class TcClass(Tc):
def from_capi(cls, obj):
return cls(capi.class2obj(obj))
- def _obj2type(self, obj):
+ @staticmethod
+ def _obj2type(obj):
return capi.obj2class(obj)
- def _new_instance(self, obj):
+ @staticmethod
+ def _new_instance(obj):
if not obj:
raise ValueError()
@@ -492,7 +498,7 @@ class TcClass(Tc):
#
# format(details=False, stats=False)
#
- def format(self, details=False, stats=False, nodev=False,
+ def format(self, details=False, _stats=False, nodev=False,
noparent=False, indent=''):
"""Return class as formatted text"""
fmt = util.MyFormatter(self, indent)
@@ -518,7 +524,8 @@ class ClassifierCache(netlink.Cache):
self._set_arg1(ifindex)
self._set_arg2(int(parent))
- def _new_object(self, obj):
+ @staticmethod
+ def _new_object(obj):
return Classifier(obj)
def _new_cache(self, cache):
@@ -543,10 +550,12 @@ class Classifier(Tc):
def from_capi(cls, obj):
return cls(capi.cls2obj(obj))
- def _obj2type(self, obj):
+ @staticmethod
+ def _obj2type(obj):
return capi.obj2cls(obj)
- def _new_instance(self, obj):
+ @staticmethod
+ def _new_instance(obj):
if not obj:
raise ValueError()
@@ -580,7 +589,7 @@ class Classifier(Tc):
#
# format(details=False, stats=False)
#
- def format(self, details=False, stats=False, nodev=False,
+ def format(self, details=False, _stats=False, nodev=False,
noparent=False, indent=''):
"""Return class as formatted text"""
fmt = util.MyFormatter(self, indent)