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)

x86_64
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
2.1 S8 (7Nov)

People

(Reporter: hchang, Assigned: hchang)

Details

Attachments

(2 files)

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: nobody → hchang
Attached patch Bug1087152.patchSplinter Review
Attached patch ifc_log.patchSplinter Review
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
Attachment #8509424 - Flags: review?(vchang)
Flags: needinfo?(chulee)
If it returns error, does default route still being removed?
Flags: needinfo?(chulee)
(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.
Attachment #8509424 - Flags: review?(vchang) → review+
Keywords: checkin-needed
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.

Attachment

General

Created:
Updated:
Size: