'proto', 'kernel',
'dev', device))
- def add_route(self, cidr, ip, table=None):
+ def add_route(self, cidr, via=None, table=None):
ip_version = get_ip_version(cidr)
- args = ['replace', cidr, 'via', ip]
+ args = ['replace', cidr]
+ if via:
+ args += ['via', via]
args += self._dev_args()
args += self._table_args(table)
self._as_root([ip_version], tuple(args))
- def delete_route(self, cidr, ip, table=None):
+ def delete_route(self, cidr, via=None, table=None):
ip_version = get_ip_version(cidr)
- args = ['del', cidr, 'via', ip]
+ args = ['del', cidr]
+ if via:
+ args += ['via', via]
args += self._dev_args()
args += self._table_args(table)
self._as_root([ip_version], tuple(args))
'dev', self.parent.name,
'table', self.table))
+ def test_add_route_no_via(self):
+ self.route_cmd.add_route(self.cidr, table=self.table)
+ self._assert_sudo([self.ip_version],
+ ('replace', self.cidr,
+ 'dev', self.parent.name,
+ 'table', self.table))
+
def test_delete_route(self):
self.route_cmd.delete_route(self.cidr, self.ip, self.table)
self._assert_sudo([self.ip_version],
'dev', self.parent.name,
'table', self.table))
+ def test_delete_route_no_via(self):
+ self.route_cmd.delete_route(self.cidr, table=self.table)
+ self._assert_sudo([self.ip_version],
+ ('del', self.cidr,
+ 'dev', self.parent.name,
+ 'table', self.table))
+
def test_list_routes(self):
self.parent._run.return_value = (
"default via 172.124.4.1 dev eth0 metric 100\n"