Closed
Bug 1018355
Opened 11 years ago
Closed 11 years ago
IPv6 tethering failure
Categories
(Firefox OS Graveyard :: Wifi, defect)
Tracking
(blocking-b2g:1.4+, firefox31 wontfix, firefox32 fixed, firefox33 fixed, b2g-v1.4 fixed, b2g-v2.0 fixed, b2g-v2.1 fixed)
People
(Reporter: pgravel, Assigned: vchang)
References
()
Details
(Whiteboard: [caf priority: p2][cr 673050])
Attachments
(3 files)
USB and wifi tethering cannot be turned on when on an IPv6 connection.
If you look at the attached logs, the failure occurs due to
D TetherController: setDnsForwarders(0 = '2620:0:ccc:0:0:0:0:2')
E TetherController: Failed to parse DNS server '2620:0:ccc:0:0:0:0:2'
This is because netd's TetherController only supports IPv4 DNSes and in gecko's NetworkUtils::setUSBTethering() the data call's IPv6 DNSes are directly passed in to netd.
As you can see in the second log attaches, Android seems to use the hard-coded DNSes 8.8.8.8 and 8.8.4.4 when toggling on tethering, regardless of the base data call's connection type. (ref: https://android.googlesource.com/platform/frameworks/base/+/master/services/java/com/android/server/connectivity/Tethering.java#1246).
Updated•11 years ago
|
Component: General → Wifi
Comment 3•11 years ago
|
||
Chuck, this bug should have been fixed by your patches before, right?
Assignee: nobody → chulee
Flags: needinfo?(kchang)
Updated•11 years ago
|
blocking-b2g: 1.4? → 1.4+
Comment 4•11 years ago
|
||
After discussing with Vincent, he can take this bug.
Assignee: chulee → vchang
(In reply to Ken Chang[:ken] from comment #3)
> Chuck, this bug should have been fixed by your patches before, right?
AFAIK, we only deal with wifi but not tethering on IPv6.
The problem here is we set IPv6 info from data call to netd but it doesn't support it.
Hardcode DNS Server to IPv4 seems wired to me.
First, while using IPv4 DNS Server on IPv6 network, I think we also need a ipv4-in-ipv6 tunnel(or some special work in gonk) for the IPv4 DNS query and other IPv4 traffic on IPv6 network. Or we are just making the log looks right but the tethering still fails.
Also, it might break some private services from service provider, if they use some domain name that only can be resolved by the DNS Server from data call.
I suggest we test if force IPv4 DNS Server do make tethering first.
Assignee | ||
Comment 6•11 years ago
|
||
It should be ipv4 address(8.8.8.8/8.8.4.4) if you don't modify the default dns settings for tethering.wifi.dns1/tethering.wifi.dns2.
http://dxr.mozilla.org/mozilla-central/source/dom/wifi/WifiWorker.js#61
Or do you modify them in https://github.com/mozilla-b2g/gaia/blob/v1.4/build/config/common-settings.json ?
Assignee | ||
Updated•11 years ago
|
Flags: needinfo?(pgravel)
I haven't touched Gaia. Here's where gecko grabs the DNS from the data call in both the wifi- and usb-tethering cases.
(wifi) http://lxr.mozilla.org/mozilla-central/source/dom/system/gonk/NetworkUtils.cpp#1552
(usb) http://lxr.mozilla.org/mozilla-central/source/dom/system/gonk/NetworkUtils.cpp#1578
Flags: needinfo?(pgravel)
Assignee | ||
Comment 9•11 years ago
|
||
Prevent setting the ipv6 address to dns forwarder.
Attachment #8434679 -
Flags: review?(chulee)
Flags: needinfo?(vchang)
Assignee | ||
Comment 10•11 years ago
|
||
I don't have IPV6 environment right here. Can you help to verify if the patch works for you ?
Flags: needinfo?(pgravel)
Comment on attachment 8434679 [details] [diff] [review]
Patch v1.0
Review of attachment 8434679 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good, with a little suggestion. Thanks.
::: dom/system/gonk/NetworkUtils.cpp
@@ +1556,5 @@
> getIFProperties(GET_CHAR(mExternalIfname), interfaceProperties);
>
> if (strcmp(interfaceProperties.dns1, "")) {
> + int type = getIpType(interfaceProperties.dns1);
> + if (type != AF_INET6) {
I suggest use |type == AF_INET| in case we got expected network types.
Attachment #8434679 -
Flags: review?(chulee) → review+
Assignee | ||
Comment 13•11 years ago
|
||
Per comment 10, I am waiting for the test result from QC.
Flags: needinfo?(vchang)
Assignee | ||
Comment 14•11 years ago
|
||
Commit the patch first.
https://hg.mozilla.org/integration/b2g-inbound/rev/340f8450649e
Comment 15•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 16•11 years ago
|
||
status-b2g-v1.4:
--- → fixed
status-b2g-v2.0:
--- → affected
status-b2g-v2.1:
--- → fixed
status-firefox31:
--- → wontfix
status-firefox32:
--- → affected
status-firefox33:
--- → fixed
Target Milestone: --- → 2.0 S4 (20june)
Comment 17•11 years ago
|
||
Reporter | ||
Comment 18•11 years ago
|
||
verified behavior is now the same as android. thanks!
Flags: needinfo?(pgravel)
Updated•11 years ago
|
Blocks: b2g-ipv6-1.4
Updated•11 years ago
|
Flags: in-moztrap?(bzumwalt)
Comment 19•11 years ago
|
||
New test case needs to be written to address bug.
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(ktucker)
Comment 20•11 years ago
|
||
New test case has been written in moztrap:
https://moztrap.mozilla.org/manage/case/14237/
Flags: needinfo?(ktucker)
Flags: in-moztrap?(bzumwalt)
Flags: in-moztrap+
Comment 21•11 years ago
|
||
Vincent, can we also get this fixed on v2.0? Thanks!
Flags: needinfo?(vchang)
Comment 22•11 years ago
|
||
I think you're looking for a different "vchang" :-)
Flags: needinfo?(vchang)
Assignee | ||
Comment 24•11 years ago
|
||
I think it's there already.
http://hg.mozilla.org/releases/mozilla-b2g32_v2_0/file/692c93509dc9/dom/system/gonk/NetworkUtils.cpp#l1560
Flags: needinfo?(vchang)
Comment 25•11 years ago
|
||
(In reply to Vincent Chang[:vchang] from comment #24)
> I think it's there already.
> http://hg.mozilla.org/releases/mozilla-b2g32_v2_0/file/692c93509dc9/dom/
> system/gonk/NetworkUtils.cpp#l1560
Thanks!
Updated•10 years ago
|
Whiteboard: [cr 673050] → [caf priority: p2][cr 673050]
You need to log in
before you can comment on or make changes to this bug.
Description
•