TPE RIL Network team/NetworkManagerEnhancement/2014-07-17
From MozillaWiki
Time
2014/7/17, 4-5pm
Attendee
Vincent, Chuck, Henry, Dimi, Ethan
Topic
Discuss the impact of NetworkManager enhancement to WifiWorker.
Agenda
- Behaviors of nsINetworkInterface::connect()/disconnect() in WifiWorker.
- How to deal with different modes: WiFi, Wifi-Tethering and Wifi-Direct?
- How does WifiWorker report connection status to NetworkManager?
Conclusions
- Suggest to add an attribue to nsINetworkInfo to indicate the interface is connectable or not.
interface nsINetworkInfo { …... readonly attribute boolean connectable; /* TRUE for WAN interfaces; FALSE for LAN interfaces, e.g. Tethering */ }
- WiFi network interface exists only when WiFi is enabled.
- nsINetworkInterface::connect() will “enable all networks” in WiFi.
- nsINetworkInterface::disconnect() will “disable all networks” in WiFi.
- We cannot specify a certain SSID (AP) in connect()/disconnect().
- Tethering interfaces (Hotspot/USB) exist only when Tethering is enabled.
- nsINetworkInfo::connectable = FALSE;
- nsINetworkInterface::connect()/disconnect() have no effect on such interfaces.
- Wifi-Direct interface exists only when Wifi-Direct is enabled.
- nsINetworkInterface::connect() will enable WifiP2p function (e.g. enable WPS)
- nsINetworkInterface::disconnect() will disable WifiP2p function.
- NetworkManager observes the events for network state changes (the same as now).
To-Be-Discussed
- If multiple network interfaces are connected, how does NetworkManager decide routing policy?
- How to override NetworkManager’s network policy with user preference?
- For example, the user prefers WiFi to Ethernet, or prefers Data Connection to WiFi?
- When interfaces are registered/unregistered, network policy should be re-calculated.
- Will NetworkManager bring up an interface automatically after it is unregistered?