TPE RIL Network team/NetworkManagerEnhancement/2014-07-17

From MozillaWiki
Jump to: navigation, search

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

  1. 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 */
   }
  1. 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().
  2. Tethering interfaces (Hotspot/USB) exist only when Tethering is enabled.
    • nsINetworkInfo::connectable = FALSE;
    • nsINetworkInterface::connect()/disconnect() have no effect on such interfaces.
  3. 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.
  4. NetworkManager observes the events for network state changes (the same as now).

To-Be-Discussed

  1. If multiple network interfaces are connected, how does NetworkManager decide routing policy?
  2. How to override NetworkManager’s network policy with user preference?
    • For example, the user prefers WiFi to Ethernet, or prefers Data Connection to WiFi?
  3. When interfaces are registered/unregistered, network policy should be re-calculated.
  4. Will NetworkManager bring up an interface automatically after it is unregistered?