NetworkManager/src
Beniamino Galvani 56cebecd41 ip4-config: don't change order of addresses in the same subnet
When multiple address are assigned to an interface and the kernel must
decide which one should be used to communicate with a given IP, it
chooses the most specific one in the same subnet as the
destination. In case there are multiple addresses in the same subnet,
the primary address is choosen, which is basically the first one that
was added.

With commit 7197425137 ("device: expose NMIP4Config:addresses in
stable/defined sort order") we sorted all the addresses before
committing the configuration, with the side effect that the order no
longer respected the one in the user configuration.

Instead, change the sort function to keep the subnet order unchanged.

(cherry picked from commit e02752c2ed)
2016-12-09 14:18:53 +01:00
..
devices device: fix activation_source_schedule() for rescheduling the same function 2016-12-08 13:56:21 +01:00
dhcp-manager dhcp: call synchronous Notify D-Bus method from nm-dhcp-helper 2016-09-08 00:26:14 +02:00
dns-manager core: use _NM_GET_PRIVATE() macros 2016-09-08 00:26:14 +02:00
dnsmasq-manager all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
platform platform: increase initial buffer size of libnl's nl_recvmsg() to 32K 2016-12-02 15:32:45 +01:00
ppp-manager ppp: add counter to D-Bus object path for PPP manager instances 2016-11-02 13:24:27 +01:00
rdisc core: use _NM_GET_PRIVATE() macros 2016-09-08 00:26:14 +02:00
settings device: treat fake permanent MAC address mostly like a real one 2016-11-03 12:24:01 +01:00
supplicant-manager supplicant: fix cancellation of interface association 2016-10-14 10:07:58 +02:00
systemd systemd: hide "nm-sd-adapt.h" and expose required internal API in "nm-sd.h" 2016-08-12 09:38:51 +02:00
tests all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
vpn-manager vpn-manager: ignore ip configs from disconnected plugins 2016-11-24 14:18:47 +01:00
main-utils.c build: avoid compiler warnings about non-constant format strings (-Wformat-nonliteral) 2016-06-05 12:22:01 +02:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c config: refactor change-flags to be a cause/reason which triggered the change 2016-06-01 19:06:34 +02:00
Makefile.am dhcp: add new header "nm-dhcp-helper-api.h" 2016-09-08 00:26:14 +02:00
NetworkManager.ver build: export _IO_stdin_used symbol in NetworkManager.ver 2016-08-28 16:56:25 +02:00
NetworkManagerUtils.c device: fix nm_utils_match_connection() for NMSettingInfiniband:mac-address 2016-09-22 16:49:15 +02:00
NetworkManagerUtils.h utils: inject platform into nm_utils_complete_generic() 2016-03-15 12:56:58 +01:00
nm-activation-request.c act-request: queue failing the slave when master fails 2016-08-17 15:36:05 +02:00
nm-activation-request.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-active-connection.c core: use define for signal name in nm_active_connection_set_device() 2016-08-22 16:25:33 +02:00
nm-active-connection.h active-connection: add parent active connection tracking 2016-03-26 11:31:18 +01:00
nm-audit-manager.c checkpoint: add audit support 2016-08-17 14:55:34 +02:00
nm-audit-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-auth-manager.c auth: downgrade g_assert() to nm_assert() 2016-04-05 10:39:20 +02:00
nm-auth-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-auth-subject.c core: use _NM_GET_PRIVATE() macros 2016-09-08 00:26:14 +02:00
nm-auth-subject.h auth: embed private data NMAuthSubjectPrivate in NMAuthSubject struct 2016-05-12 10:24:36 +02:00
nm-auth-utils.c core: fix builds without polkit support 2016-08-17 11:28:55 +02:00
nm-auth-utils.h all: move NM_AUTH_PERMISSION_* defines to "nm-common-macros.h" header 2016-06-01 19:06:35 +02:00
nm-bus-manager.c dhcp: call synchronous Notify D-Bus method from nm-dhcp-helper 2016-09-08 00:26:14 +02:00
nm-bus-manager.h core: check valid uid for D-Bus load_connection(s)/set_logging calls 2016-08-23 11:24:19 +02:00
nm-checkpoint-manager.c checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-checkpoint-manager.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-checkpoint.c core: use _NM_GET_PRIVATE() macros 2016-09-08 00:26:14 +02:00
nm-checkpoint.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-config-data.c config: make "ignore-carrier" a per-device configuration option 2016-06-30 08:27:17 +02:00
nm-config-data.h config: add support for per-device configuration to NetworkManager.conf 2016-06-30 08:07:35 +02:00
nm-config.c device: treat fake permanent MAC address mostly like a real one 2016-11-03 12:24:01 +01:00
nm-config.h config: make "ignore-carrier" a per-device configuration option 2016-06-30 08:27:17 +02:00
nm-connectivity.c nm-dispatcher: Added new 'connectivity-state' parameter to private D-Bus API 2016-07-28 22:22:14 +02:00
nm-connectivity.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-core-utils.c libnm-core/utils: update hwaddr utilities 2016-11-03 12:24:00 +01:00
nm-core-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dcb.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dcb.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-default-route-manager.c vpn,dns: for interface-less VPN connections get the ip_iface from the parent device 2016-05-27 12:54:55 +02:00
nm-default-route-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dhcp4-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp4-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dhcp6-config.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-dhcp6-config.h core: port NMDhcp4Config/NMDhcp6Config to GVariant 2015-07-24 13:25:47 -04:00
nm-dispatcher.c nm-dispatcher: Added new 'connectivity-state' parameter to private D-Bus API 2016-07-28 22:22:14 +02:00
nm-dispatcher.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-exported-object.c exported-object: use _NMLOG2() macro for logging property-changed signal 2016-09-02 20:17:42 +02:00
nm-exported-object.h build: cleanup src/Makefile.am 2016-08-11 11:54:18 +02:00
nm-firewall-manager.c core: use defines for signal names in NMDnsManager and NMFirewallManager 2016-04-04 16:48:10 +02:00
nm-firewall-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-iface-helper.c dbus: fix emitting D-Bus NetworkManager's old-style PropertiesChange signal 2016-09-02 20:17:42 +02:00
nm-ip4-config.c ip4-config: don't change order of addresses in the same subnet 2016-12-09 14:18:53 +01:00
nm-ip4-config.h ip-config: cleanup integer types for nm_ip4_config_get_num_*() 2016-12-09 14:18:47 +01:00
nm-ip6-config.c ip-config: cleanup integer types for nm_ip4_config_get_num_*() 2016-12-09 14:18:47 +01:00
nm-ip6-config.h ip-config: cleanup integer types for nm_ip4_config_get_num_*() 2016-12-09 14:18:47 +01:00
nm-logging.c logging: don't round subsecond part in logging timestamp 2016-09-08 00:26:14 +02:00
nm-logging.h logging: remove LOGD_HW alias for LOGD_PLATFORM 2016-11-03 12:23:07 +01:00
nm-manager.c manager: fix state transition on resuming from sleep 2016-11-24 14:12:33 +01:00
nm-manager.h checkpoint: add create, rollback and destroy D-Bus API 2016-08-17 14:55:34 +02:00
nm-multi-index.c libnm,core: fix syntax of 'transfer' annotation 2016-02-24 17:23:01 +01:00
nm-multi-index.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-policy.c policy: always try to update kernel hostname 2016-08-19 10:02:41 +02:00
nm-policy.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-rfkill-manager.c logging: remove LOGD_HW alias for LOGD_PLATFORM 2016-11-03 12:23:07 +01:00
nm-rfkill-manager.h core: use #define for "rfkill-changed" signal name 2016-08-23 11:46:28 +02:00
nm-route-manager.c core/trivial: rename "source" field of addresses and routes 2016-04-28 12:53:21 +02:00
nm-route-manager.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-session-monitor.c session-monitor: fix parsing of ConsoleKit database 2016-10-13 09:48:45 +02:00
nm-session-monitor.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-sleep-monitor.c sleep-monitor: add functions for delaying the suspension 2016-05-13 14:34:53 +02:00
nm-sleep-monitor.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-test-utils-core.h shared: move shared files to subdirectory "shared/nm-utils/" 2016-06-16 10:45:53 +02:00
nm-types.h platform/trivial: rename NM_LINK_TYPE_WWAN_ETHERNET to NM_LINK_TYPE_WWAN_NET 2016-06-17 11:00:10 +02:00
org.freedesktop.NetworkManager.conf dns: use DBus to make dnsmasq nameserver changes 2016-04-21 15:32:07 +02:00