New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 742046 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit 15 days ago
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Add IPv6 support to shill/test-scripts/routing.py

Project Member Reported by benchan@chromium.org, Jul 13 2017

Issue description

NetworkRoutes provided by shill/test-scripts/routing.py currently handles only IPv4 routes and addresses. We should extend the code to support both IPv4 and IPv6.


 
Cc: -ejcaruso@chromium.org
Owner: ejcaruso@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/system/connectivity/shill/+/1392b6f72b0c436616030a451d25b944585eb5db

commit 1392b6f72b0c436616030a451d25b944585eb5db
Author: Eric Caruso <ejcaruso@chromium.org>
Date: Fri Jul 21 23:02:35 2017

routing: refactor script

In order to support IPv6 routing rules, we're going to need to have
multiple types of routes. Move some things around so that we can
do this correctly, fix a bug in hasInterfaceRoute, and fix up some
other style issues.

BUG= chromium:742046 
TEST=verify output from main function

Change-Id: If38ca4d12063a64cde278be8e9c4f333aa618e9d
Reviewed-on: https://chromium-review.googlesource.com/574766
Commit-Ready: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/1392b6f72b0c436616030a451d25b944585eb5db/test-scripts/routing.py

Project Member

Comment 3 by bugdroid1@chromium.org, Jul 21 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/aosp/platform/system/connectivity/shill/+/d70b618502cf8cfe60616595f0d8d2b6669fcb8c

commit d70b618502cf8cfe60616595f0d8d2b6669fcb8c
Author: Eric Caruso <ejcaruso@chromium.org>
Date: Fri Jul 21 23:02:35 2017

routing: IPv6 support

This reads and parses the IPv6 routing tables and returns information
about the routes therein.

BUG= chromium:742046 
TEST=verify output of main function is as expected

Change-Id: I4bdcf554125b3d1fab07b2167b54da879ca5ba1c
Reviewed-on: https://chromium-review.googlesource.com/575007
Commit-Ready: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/d70b618502cf8cfe60616595f0d8d2b6669fcb8c/test-scripts/routing.py

Status: Fixed (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/813566f30936b5aa04f9b25b12e4feafed29260f

commit 813566f30936b5aa04f9b25b12e4feafed29260f
Author: Eric Caruso <ejcaruso@chromium.org>
Date: Wed Jul 26 23:46:49 2017

Revert "Workaround IPv6 issue in network.CheckInterfaceForDestination"

This reverts commit 53e79ddbc4f409ba73104c83d3e9c9ec25772172.

Now that the routing script has IPv6 support, there's no need to keep
this workaround in place.

BUG= chromium:742046 
CQ-DEPEND=CL:575007
TEST=network_3GSmokeTest

Change-Id: I19dbd433226024ec1f62af16adcfb01981c96977
Reviewed-on: https://chromium-review.googlesource.com/575008
Commit-Ready: Eric Caruso <ejcaruso@chromium.org>
Tested-by: Eric Caruso <ejcaruso@chromium.org>
Reviewed-by: Ben Chan <benchan@chromium.org>

[modify] https://crrev.com/813566f30936b5aa04f9b25b12e4feafed29260f/client/cros/network.py

Status: Assigned (was: Fixed)
Eric, looks like still network_3GSmokeTest fails on lab DUT as follows. Could you take a quick look?

07/28 00:13:35.182 DEBUG|          parallel:0030| Traceback (most recent call last):
07/28 00:13:35.183 DEBUG|          parallel:0030|   File "/usr/local/autotest/bin/parallel.py", line 18, in fork_start
07/28 00:13:35.183 DEBUG|          parallel:0030|     l()
07/28 00:13:35.183 DEBUG|          parallel:0030|   File "/usr/local/autotest/bin/job.py", line 483, in <lambda>
07/28 00:13:35.184 DEBUG|          parallel:0030|     l = lambda : test.runtest(self, url, tag, args, dargs)
07/28 00:13:35.184 DEBUG|          parallel:0030|   File "/usr/local/autotest/bin/test.py", line 117, in runtest
07/28 00:13:35.185 DEBUG|          parallel:0030|     job.sysinfo.log_after_each_iteration)
07/28 00:13:35.185 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 902, in runtest
07/28 00:13:35.186 DEBUG|          parallel:0030|     mytest._exec(args, dargs)
07/28 00:13:35.186 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 610, in _exec
07/28 00:13:35.187 DEBUG|          parallel:0030|     _call_test_function(self.execute, *p_args, **p_dargs)
07/28 00:13:35.187 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 818, in _call_test_function
07/28 00:13:35.188 DEBUG|          parallel:0030|     return func(*args, **dargs)
07/28 00:13:35.188 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 471, in execute
07/28 00:13:35.188 DEBUG|          parallel:0030|     dargs)
07/28 00:13:35.189 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 348, in _call_run_once_with_retry
07/28 00:13:35.189 DEBUG|          parallel:0030|     postprocess_profiled_run, args, dargs)
07/28 00:13:35.190 DEBUG|          parallel:0030|   File "/usr/local/autotest/common_lib/test.py", line 381, in _call_run_once
07/28 00:13:35.190 DEBUG|          parallel:0030|     self.run_once(*args, **dargs)
07/28 00:13:35.191 DEBUG|          parallel:0030|   File "/usr/local/autotest/tests/network_3GSmokeTest/network_3GSmokeTest.py", line 141, in run_once
07/28 00:13:35.191 DEBUG|          parallel:0030|     self.run_once_internal()
07/28 00:13:35.191 DEBUG|          parallel:0030|   File "/usr/local/autotest/tests/network_3GSmokeTest/network_3GSmokeTest.py", line 108, in run_once_internal
07/28 00:13:35.192 DEBUG|          parallel:0030|     interface)
07/28 00:13:35.192 DEBUG|          parallel:0030|   File "/usr/local/autotest/cros/network.py", line 212, in CheckInterfaceForDestination
07/28 00:13:35.193 DEBUG|          parallel:0030|     raise error.TestFail('No route found for %s.' % address)
07/28 00:13:35.194 DEBUG|          parallel:0030| TestFail: No route found for 2607:f8b0:4005:804::2014.
Are we sure this isn't because IPv6 is disabled for cellular?
Status: Fixed (was: Assigned)
Yeah, the issue lies in network.CheckInterfaceForDestination instead. As multiple addresses can be resolved for a host, if any of the addresses, but not all, doesn't have a route, network.CheckInterfaceForDestination shouldn't fail

Comment 9 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Sign in to add a comment