NetworkManager/src/dhcp
Thomas Haller 22edeb5b69 core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex
Reasons:

 - it adds an O(1) lookup index for accessing NMIPxConfig's addresses.
   Hence, operations like merge/intersect have now runtime O(n) instead
   of O(n^2).
   Arguably, we expect low numbers of addresses in general. For low
   numbers, the O(n^2) doesn't matter and quite likely in those cases
   the previous implementation was just fine -- maybe even faster.
   But the simple case works fine either way. It's important to scale
   well in the exceptional case.
 - the tracked objects can be shared between the various NMPI4Config,
   NMIP6Config instances with NMPlatform and everybody else.
 - the NMPObject can be treated generically, meaning it enables code to
   handle both IPv4 and IPv6, or addresses and routes. See for example
   _nm_ip_config_add_obj().
 - I want core to evolve to somewhere where we don't keep copies of
   NMPlatformIP4Address, et al. instances. Instead they shall all be
   shared. I hope this will reduce memory consumption (although tracking a
   reference consumes some memory too). Also, it shortcuts nmp_object_equal()
   when comparing the same object. Calling nmp_object_equal() on the
   identical objects would be a common case after the hash function
   pre-evaluates equality.
2017-07-25 06:44:12 +02:00
..
tests core: track addresses for NMIP4Config/NMIP6Config via NMDedupMultiIndex 2017-07-25 06:44:12 +02:00
nm-dhcp-client-logging.h dhcp: log the device context 2017-03-24 12:42:09 +01:00
nm-dhcp-client.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-client.h core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-dhclient-utils.c dhcp/dhclient: improve "interface" statement parsing 2017-07-10 11:35:12 +02:00
nm-dhcp-dhclient-utils.h core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-dhclient.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-dhcpcd.c dhcp: allow FQDNs in ipv4.dhcp-hostname 2017-05-04 16:25:06 +02:00
nm-dhcp-helper-api.h build: rename "src/dhcp-manager" to "src/dhcp" 2016-11-21 14:07:47 +01:00
nm-dhcp-helper.c build: rename "src/dhcp-manager" to "src/dhcp" 2016-11-21 14:07:47 +01:00
nm-dhcp-listener.c logging: log device and connection along with the message 2017-03-24 12:42:09 +01:00
nm-dhcp-listener.h build: rename "src/dhcp-manager" to "src/dhcp" 2016-11-21 14:07:47 +01:00
nm-dhcp-manager.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-manager.h core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-systemd.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-utils.c core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00
nm-dhcp-utils.h core: pass NMDedupMultiIndex instance to NMIP4Config and other 2017-07-05 14:22:10 +02:00