Adding ipv6 boolean argument to decide whether a route is IPv6 route or IPv4.
Signed-off-by: Elad Raz <eladr(a)mellanox.com>
---
lnst/Controller/Machine.py | 8 ++++----
lnst/Controller/Task.py | 4 ++--
lnst/Slave/InterfaceManager.py | 8 ++++----
lnst/Slave/NetTestSlave.py | 8 ++++----
4 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py
index 3725de6..dd9d5ec 100644
--- a/lnst/Controller/Machine.py
+++ b/lnst/Controller/Machine.py
@@ -759,13 +759,13 @@ class Interface(object):
self._machine._rpc_call_x(self._netns, "set_addresses",
self._id, ips)
- def add_route(self, dest):
+ def add_route(self, dest, ipv6 = False):
self._machine._rpc_call_x(self._netns, "add_route",
- self._id, dest)
+ self._id, dest, ipv6)
- def del_route(self, dest):
+ def del_route(self, dest, ipv6 = False):
self._machine._rpc_call_x(self._netns, "del_route",
- self._id, dest)
+ self._id, dest, ipv6)
def update_from_slave(self):
if_data = self._machine._rpc_call_x(self._netns, "get_if_data",
diff --git a/lnst/Controller/Task.py b/lnst/Controller/Task.py
index 6f36e86..9be2d14 100644
--- a/lnst/Controller/Task.py
+++ b/lnst/Controller/Task.py
@@ -620,10 +620,10 @@ class InterfaceAPI(object):
self._if.set_addresses(ips)
def enable_multicast(self):
- self._if.add_route("224.0.0.0/4")
+ self._if.add_route("224.0.0.0/4", False)
def disable_multicast(self):
- self._if.del_route("224.0.0.0/4")
+ self._if.del_route("224.0.0.0/4", False)
def destroy(self):
self._host._remove_iface(self)
diff --git a/lnst/Slave/InterfaceManager.py b/lnst/Slave/InterfaceManager.py
index dbb0771..f8da5eb 100644
--- a/lnst/Slave/InterfaceManager.py
+++ b/lnst/Slave/InterfaceManager.py
@@ -654,11 +654,11 @@ class Device(object):
for address in ips:
exec_cmd("ip addr add %s dev %s" % (address, self._name))
- def add_route(self, dest):
- exec_cmd("ip route add %s dev %s" % (dest, self._name))
+ def add_route(self, dest, ipv6):
+ exec_cmd("ip %s route add %s dev %s" % ("-6" if ipv6 else
"", dest, self._name))
- def del_route(self, dest):
- exec_cmd("ip route del %s dev %s" % (dest, self._name))
+ def del_route(self, dest, ipv6):
+ exec_cmd("ip %s route del %s dev %s" % ("-6" if ipv6 else
"", dest, self._name))
def set_netns(self, netns):
self._netns = netns
diff --git a/lnst/Slave/NetTestSlave.py b/lnst/Slave/NetTestSlave.py
index b18f47d..47202d3 100644
--- a/lnst/Slave/NetTestSlave.py
+++ b/lnst/Slave/NetTestSlave.py
@@ -208,20 +208,20 @@ class SlaveMethods:
dev.set_addresses(ips)
return True
- def add_route(self, if_id, dest):
+ def add_route(self, if_id, dest, ipv6):
dev = self._if_manager.get_mapped_device(if_id)
if dev is None:
logging.error("Device with id '%s' not found." % if_id)
return False
- dev.add_route(dest)
+ dev.add_route(dest, ipv6)
return True
- def del_route(self, if_id, dest):
+ def del_route(self, if_id, dest, ipv6):
dev = self._if_manager.get_mapped_device(if_id)
if dev is None:
logging.error("Device with id '%s' not found." % if_id)
return False
- dev.del_route(dest)
+ dev.del_route(dest, ipv6)
return True
def set_device_up(self, if_id):
--
2.4.3