NetworkManager/src/modem-manager
Dan Williams 067db6f8d7 core/platform: add address/route sources (rh#1005416, bgo#722843)
Tag addresses and routes with their source.  We'll use this later to do
(or not do) operations based on where the item came from.

One thing to note is that when synchronizing items with the kernel, all
items are read as source=KERNEL even when they originally came from
NetworkManager, since the kernel has no way of providing this source
information.  This requires the source 'priority', which
nm_ip*_config_add_address() and nm_ip*_config_add_route() must respect
to ensure that NM-owned routes don't have their source overwritten
when merging various IP configs in ip*_config_merge_and_apply().

Also of note is that memcmp() can no longer be used to compare
addresses/routes in nm-platform.c, but this had problems before
anyway with ifindex, so that workaround from nm_platform_ip4_route_sync()
can be removed.

https://bugzilla.gnome.org/show_bug.cgi?id=722843
https://bugzilla.redhat.com/show_bug.cgi?id=1005416
2014-01-24 09:42:52 -06:00
..
nm-modem-broadband.c core/platform: add address/route sources (rh#1005416, bgo#722843) 2014-01-24 09:42:52 -06:00
nm-modem-broadband.h modem-manager: consolidate capabilities loading 2013-06-03 13:00:04 -05:00
nm-modem-manager.c coverity: fix various warnings detected with Coverity 2013-11-13 15:29:24 +01:00
nm-modem-manager.h modem-manager, manager: avoid calling G_TYPE_INSTANCE_GET_PRIVATE() often 2012-11-21 11:48:25 -06:00
nm-modem-old-types.h mobile: move and rename old MM modem state enum 2013-06-03 12:59:49 -05:00
nm-modem-old.c core/platform: add address/route sources (rh#1005416, bgo#722843) 2014-01-24 09:42:52 -06:00
nm-modem-old.h modem-manager: consolidate capabilities loading 2013-06-03 13:00:04 -05:00
nm-modem.c core: switch nm-ip4-config's NMIP[46]Address to NMPlatformIP[46]Address 2013-07-20 15:30:08 +02:00
nm-modem.h modem-manager: consolidate capabilities loading 2013-06-03 13:00:04 -05:00
README trivial: fix spelling errors in code comments and README file 2013-08-06 13:48:02 -05:00

ModemManager integration is organized as follows:


Common source
********************************************************************************

 * nm-modem.[h|c]:
      Defines the basic `NMModem' object. The core NetworkManager implementation
      will use this interface exclusively, regardless of the real final type of
      the modem object.

 * nm-modem-manager.[h|c]:
      Defines the `NMModemManager' object, which takes care of listening to
      signals from the DBus interface notifying about added or removed modems.
      It also takes care of creating proper `NMModem' objects from the
      information retrieved from the DBus interface.


ModemManager 0.7 integration
********************************************************************************

 * nm-modem-broadband.[h|c]:
      Defines the `NMModemBroadband' object, which is a subclass of `NMModem'.
      This object handles both 3GPP and 3GPP2 modems exposed in the new
      `ModemManager1' interface.


ModemManager 0.4/0.5/0.6 integration
********************************************************************************

 * nm-modem-old-types.h:
      Defines helper types to use with the (old) ModemManager DBus API.

 * nm-modem-old.[h|c]:
      Defines the `NMModemGeneric' object. All modem objects based on the old
      ModemManager interface are subclasses of this one.

 * nm-modem-gsm.[h|c]:
      Defines the `NMModemGsm' object, which is a subclass of `NMModemGeneric'.
      This object handles 3GPP-specific (GSM, UMTS, HSPA, LTE) modems.

 * nm-modem-cdma.[h|c]:
      Defines the `NMModemCdma' object, which is a subclass of `NMModemGeneric'.
      This object handles 3GPP2-specific modems (CDMA, EV-DO).