# Copyright (C) 2014 INRIA
#
# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation;
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
from nepi.execution.trace import Trace
from nepi.resources.ns3.ns3base import NS3Base
-import ipaddr
+import sys
+PY2 = sys.version_info[0] == 2
+
+if PY2:
+ import ipaddr
+else:
+ import ipaddress
@clsinit_copy
class NS3BaseNetDevice(NS3Base):
if not nodes:
msg = "Device not connected to node"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return nodes[0]
if not channels:
msg = "Device not connected to channel"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return channels[0]
if not queue:
msg = "Device not connected to queue"
self.error(msg)
- raise RuntimeError, msg
+ raise RuntimeError(msg)
return queue[0]
@property
def _rms_to_wait(self):
- rms = set()
-
- node = self.node
- rms.add(node)
-
- rms.add(self.channel)
+ rms = set([self.node, self.channel])
return rms
def _configure_object(self):
ip = self.get("ip")
prefix = self.get("prefix")
- i = ipaddr.IPAddress(ip)
+ if PY2:
+ i = ipaddr.IPAddress(ip)
+ else:
+ i = ipaddress.ip_address(ip)
if i.version == 4:
# IPv4
ipv4 = self.node.ipv4