aboutsummaryrefslogtreecommitdiffstats
path: root/mpm
diff options
context:
space:
mode:
authorMartin Braun <martin.braun@ettus.com>2017-06-14 16:02:07 -0700
committerMartin Braun <martin.braun@ettus.com>2017-12-22 15:04:00 -0800
commit3bd01c27a3e878fbf9d8e9e97529c000608878f1 (patch)
tree98bb4168f5cd31329343d7d9f31449c696bf8a05 /mpm
parent0347dc8b4b564b7ff720d403959c34f60ecbbf15 (diff)
downloaduhd-3bd01c27a3e878fbf9d8e9e97529c000608878f1.tar.gz
uhd-3bd01c27a3e878fbf9d8e9e97529c000608878f1.tar.bz2
uhd-3bd01c27a3e878fbf9d8e9e97529c000608878f1.zip
mpm/n310: Moved eth dispatcher setup into __init__
Diffstat (limited to 'mpm')
-rw-r--r--mpm/python/usrp_mpm/periph_manager/base.py13
-rw-r--r--mpm/python/usrp_mpm/periph_manager/n310.py15
2 files changed, 13 insertions, 15 deletions
diff --git a/mpm/python/usrp_mpm/periph_manager/base.py b/mpm/python/usrp_mpm/periph_manager/base.py
index fb06ae351..96770139d 100644
--- a/mpm/python/usrp_mpm/periph_manager/base.py
+++ b/mpm/python/usrp_mpm/periph_manager/base.py
@@ -149,7 +149,8 @@ class PeriphManagerBase(object):
self._init_dboards(args.override_db_pids)
self._available_endpoints = list(range(256))
self._init_args = {}
- self._chdr_interfaces = []
+ self.log.info("Identifying available network interfaces...")
+ self._chdr_interfaces = self._init_interfaces(self.chdr_interfaces)
def _init_mboard_with_eeprom(self):
"""
@@ -283,19 +284,19 @@ class PeriphManagerBase(object):
self.dboards.append(db_class(dboard_idx, **dboard_info))
self.log.info("Found {} daughterboard(s).".format(len(self.dboards)))
- def _init_interfaces(self):
+ def _init_interfaces(self, possible_ifaces):
"""
Initialize the list of network interfaces
"""
self.log.trace("Testing available interfaces out of `{}'".format(
- self.chdr_interfaces
+ possible_ifaces
))
- valid_ifaces = net.get_valid_interfaces(self.chdr_interfaces)
+ valid_ifaces = net.get_valid_interfaces(possible_ifaces)
if len(valid_ifaces):
self.log.debug("Found CHDR interfaces: `{}'".format(valid_ifaces))
else:
self.log.warning("No CHDR interfaces found!")
- self._chdr_interfaces = {
+ return {
x: net.get_iface_info(x)
for x in valid_ifaces
}
@@ -321,8 +322,6 @@ class PeriphManagerBase(object):
",".join(['{}={}'.format(x, args[x]) for x in args])
))
self._init_args = args
- self.log.info("Identifying available network interfaces...")
- self._init_interfaces()
self.log.debug("Initializing dboards...")
return all((dboard.init(args) for dboard in self.dboards))
diff --git a/mpm/python/usrp_mpm/periph_manager/n310.py b/mpm/python/usrp_mpm/periph_manager/n310.py
index 7b403a830..6ab151454 100644
--- a/mpm/python/usrp_mpm/periph_manager/n310.py
+++ b/mpm/python/usrp_mpm/periph_manager/n310.py
@@ -139,8 +139,12 @@ class n310(PeriphManagerBase):
)
)
self.log.info("mboard info: {}".format(self.mboard_info))
- # Define some attributes so PyLint stays quiet
- self._eth_dispatchers = None
+ self._eth_dispatchers = {
+ x: EthDispatcherTable(self.eth_tables.get(x))
+ for x in list(self._chdr_interfaces.keys())
+ }
+ for ifname, table in iteritems(self._eth_dispatchers):
+ table.set_ipv4_addr(self._chdr_interfaces[ifname]['ip_addr'])
def init(self, args):
"""
@@ -148,12 +152,7 @@ class n310(PeriphManagerBase):
dispatchers accordingly.
"""
result = super(n310, self).init(args)
- self._eth_dispatchers = {
- x: EthDispatcherTable(self.eth_tables.get(x))
- for x in list(self._chdr_interfaces.keys())
- }
- for ifname, table in iteritems(self._eth_dispatchers):
- table.set_ipv4_addr(self._chdr_interfaces[ifname]['ip_addr'])
+ for _, table in iteritems(self._eth_dispatchers):
if 'forward_eth' in args or 'forward_bcast' in args:
table.set_forward_policy(
args.get('forward_eth', False),