Closed
Bug 1087152
Opened 11 years ago
Closed 11 years ago
[Wifi Direct] Default route will not be set after establishing Wifi Direct connection
Categories
(Firefox OS Graveyard :: Wifi, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
2.1 S8 (7Nov)
People
(Reporter: hchang, Assigned: hchang)
Details
Attachments
(2 files)
|
3.43 KB,
patch
|
vchang
:
review+
|
Details | Diff | Splinter Review |
|
3.16 KB,
patch
|
Details | Diff | Splinter Review |
As title. It's due to [1] would returns error while removing p2p0 interface.
http://hg.mozilla.org/mozilla-central/file/4c449dcda453/dom/system/gonk/NetworkUtils.cpp#l1391
| Assignee | ||
Updated•11 years ago
|
Assignee: nobody → hchang
| Assignee | ||
Comment 1•11 years ago
|
||
| Assignee | ||
Comment 2•11 years ago
|
||
| Assignee | ||
Comment 3•11 years ago
|
||
Applying attachment 8509425 [details] [diff] [review], we found ifc_remove_route "0.0.0.0"
or "::" always fail (-3 ==> No such process [1][2]) from the following
log. So, only warn the failure of "ifc_remove_route" instead of return.
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_set_default_route(wlan0) ==> 0
W/NetUtils( 204): ifc_remove_host_routes(rmnet0) ==> 0
W/NetUtils( 204): ifc_add_route(rmnet0, 111.80.167.246) ==> 0
W/NetUtils( 204): ifc_add_route(rmnet0, 111.80.167.246) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.167.246) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.167.246) ==> -3
W/NetUtils( 204): ifc_set_default_route(rmnet0) ==> 0
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_remove_default_route(rmnet0) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_set_default_route(wlan0) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 168.95.1.1, 32, 111.80.167.246) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 168.95.192.1, 32, 111.80.167.246) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.167.246) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.167.246) ==> -3
W/NetUtils( 204): ifc_set_default_route(wlan0) ==> 0
W/NetUtils( 204): ifc_remove_host_routes(rmnet0) ==> 0
W/NetUtils( 204): ifc_add_route(rmnet0, 111.80.165.68) ==> 0
W/NetUtils( 204): ifc_add_route(rmnet0, 111.80.165.68) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.165.68) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.165.68) ==> -3
W/NetUtils( 204): ifc_set_default_route(rmnet0) ==> 0
W/NetUtils( 204): ifc_remove_route(p2p0, 0.0.0.0, 0, 192.168.2.1) ==> -3
W/NetUtils( 204): ifc_remove_route(p2p0, 0.0.0.0, 0, 192.168.2.1) ==> -3
W/NetUtils( 204): ifc_remove_default_route(rmnet0) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_set_default_route(p2p0) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 168.95.1.1, 32, 111.80.165.68) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 168.95.192.1, 32, 111.80.165.68) ==> 0
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.165.68) ==> -3
W/NetUtils( 204): ifc_remove_route(rmnet0, 0.0.0.0, 0, 111.80.165.68) ==> -3
W/NetUtils( 204): ifc_set_default_route(p2p0) ==> 0
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3
W/NetUtils( 204): ifc_remove_default_route(p2p0) ==> 0
W/NetUtils( 204): ifc_remove_route(p2p0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_remove_route(p2p0, ::, 0, (null)) ==> -3
W/NetUtils( 204): ifc_set_default_route(wlan0) ==> 0
[1] http://androidxref.com/kernel_3.4/xref/net/ipv4/fib_frontend.c#455
[2] http://androidxref.com/kernel_3.4/xref/net/ipv6/route.c#1515
| Assignee | ||
Updated•11 years ago
|
Attachment #8509424 -
Flags: review?(vchang)
| Assignee | ||
Updated•11 years ago
|
Flags: needinfo?(chulee)
If it returns error, does default route still being removed?
Flags: needinfo?(chulee)
| Assignee | ||
Comment 5•11 years ago
|
||
(In reply to Chuck Lee [:chucklee] from comment #4)
> If it returns error, does default route still being removed?
It would return error only when the default route has been
removed or yet to be added. I disable all function calls of
|do_ifc_remove_default_route| and saw the following logs:
W/NetUtils( 206): ifc_remove_host_routes(rmnet0) ==> 0
W/NetUtils( 206): ifc_add_route(rmnet0, 100.69.187.122) ==> 0
W/NetUtils( 206): ifc_add_route(rmnet0, 100.69.187.122) ==> 0
W/NetUtils( 206): ifc_remove_route(rmnet0, 0.0.0.0, 0, 100.69.187.122) ==> -3 // no default route
W/NetUtils( 206): ifc_remove_route(rmnet0, 0.0.0.0, 0, 100.69.187.122) ==> -3 // no default route
W/NetUtils( 206): ifc_set_default_route(rmnet0) ==> 0
W/NetUtils( 206): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3 // no default route
W/NetUtils( 206): ifc_remove_route(wlan0, 0.0.0.0, 0, 10.247.32.1) ==> -3 // no default route
W/NetUtils( 206): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3 //
W/NetUtils( 206): ifc_remove_route(rmnet0, ::, 0, (null)) ==> -3
W/NetUtils( 206): ifc_set_default_route(wlan0) ==> 0
W/NetUtils( 206): ifc_remove_route(rmnet0, 168.95.1.1, 32, 100.69.187.122) ==> 0
W/NetUtils( 206): ifc_remove_route(rmnet0, 168.95.192.1, 32, 100.69.187.122) ==> 0
W/NetUtils( 206): ifc_remove_route(rmnet0, 0.0.0.0, 0, 100.69.187.122) ==> 0 // success!
W/NetUtils( 206): ifc_set_default_route(wlan0) ==> 0
As you can see, ifc_remove_route would be called with "0.0.0.0" /"::"
even if the default route is not existing. That's the reason it returned
error. Note that the last call was success and the default route
is actually removed! Looking at the implementation, ifc_remove_default_route
does the same thing as ifc_remove_route with "0.0.0.0" or "::" so that
the use of ifc_remove_route has nothing wrong.
So, the logic in NetworkManager may need to be modified to avoid
this non-harmful operation. As for NetworkUtils.cpp, what we can
do is to be conservative to those kinds of error.
Updated•11 years ago
|
Attachment #8509424 -
Flags: review?(vchang) → review+
| Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
| Assignee | ||
Comment 6•11 years ago
|
||
Comment 7•11 years ago
|
||
Keywords: checkin-needed
Comment 8•11 years ago
|
||
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.1 S8 (7Nov)
You need to log in
before you can comment on or make changes to this bug.
Description
•