summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* nmcli: fix bash completion of words containing colon (rh #1271271)jk/nmcli-bash-completion-rh1271271Jiří Klimeš2015-10-141-0/+14
| | | | | | | | | | | | | Test: $ sudo ip link add a:b:c type dummy $ nmcli device delete<Tab><Tab> $ nmcli device delete a<Tab> See also: http://stackoverflow.com/questions/28479216/how-to-give-correct-suggestions-to-tab-complete-when-my-words-contains-colons http://stackoverflow.com/questions/2805412/bash-completion-for-maven-escapes-colon/12495727 https://bugzilla.redhat.com/show_bug.cgi?id=1271271
* merge: branch 'lr/multiple-vpn'Lubomir Rintel2015-10-1315-604/+482
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=753966
| * vpn-manager: support multiple VPN connections of the same typelr/multiple-vpnLubomir Rintel2015-10-139-529/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A separate instance of the support plugin is spawned for each connection with a different bus name. The bus name is passed via --bus-name <name> argument. Plugins that support the feature indicate it with support-multiple-connections=true key in the [VPN Connection] section. The bus name is currently generated by adding a .<connection.uuid> to the VPN service name. It's guarranteed unique, but if it proves to be too long or ugly it can easily be replaced with something more meaningful (such as the same number as is used for connection's DBus name). NMVpnService has been removed and folded into NMVpnConnection. A NMVpnConnection will spawn a service plugin instance whenever it is activated and notices the bus name it needs is not provided. The NMVpnManager no longer needs to keep track of the connections in use apart for compatibility purposes with plugins that don't support the feature.
| * device: allow multiple vpn IP configurationsLubomir Rintel2015-10-133-50/+157
| |
| * vpn-connection: export add nm_vpn_connection_get_service()Lubomir Rintel2015-10-132-1/+2
| | | | | | | | Will be useful later on.
| * libnm-core/vpn-plugin-info: add nm_vpn_plugin_info_supports_multiple()Lubomir Rintel2015-10-132-0/+22
| |
| * libnm/vpn-service-plugin: remove nm_vpn_service_plugin_{get,set}_state()Lubomir Rintel2015-10-133-30/+16
| | | | | | | | | | | | | | | | | | The plugins set state only on failures and often forget to do that. Do the correct status transition to STOPPED in nm_vpn_service_plugin_failure() instead. The get_state() is only used to find out whether to fail or orderly disconnect depending on whether we're STARTING or already STARTED. Handle that in nm_vpn_service_plugin_disconnect() in a generic manner instead.
| * libnm/vpn-service-plugin: quit when the peer we watch disconnectsLubomir Rintel2015-10-131-6/+9
| | | | | | | | | | We're of no use anymore as another user would start an instance with a different bus name.
| * libnm/vpn-service-plugin: add watch-peer propertyLubomir Rintel2015-10-132-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | Make it possible to construct the plugin instance in a way that disconnects the connection if the DBus client that activated it drops off the bus. This makes the plugins conveniently clean up when NetworkManager crashes. We need this, as with multiple VPN support we can loose track of the client bus names when the daemon crashes leaving to nice way to clean up on respawn. However, this behavior is not desired for debugging or hypotetical VPN plugin users other than NetworkManager (say; "gdbus call -m o.fd.NM.VPN.Plugin.Connect"). Let the plugin decide when to use it.
| * libnm/vpn-service-plugin: add a missing returnLubomir Rintel2015-10-131-0/+1
|/
* libnm-core: fix documentation for DHCP_TIMEOUT ifcfg-rh variableBeniamino Galvani2015-10-131-1/+1
| | | | Fixes: 3f0d595cc827d9e1117bc5c796aa11185ba8c5d7
* device: introduce a global default value for ipv4.dhcp-timeoutBeniamino Galvani2015-10-132-1/+28
| | | | | | | This allows the ipv4.dhcp-timeout default value to be set from user configuration. https://bugzilla.gnome.org/show_bug.cgi?id=756423
* merge: LLDP supportBeniamino Galvani2015-10-1223-63/+1431
|\ | | | | | | | | | | | | Add support for receiving LLDP frames and exporting through D-Bus the list of LLDP neighbors. https://bugzilla.redhat.com/show_bug.cgi?id=1142898
| * examples: add python GI example for retrieving LLDP neighborsBeniamino Galvani2015-10-121-0/+52
| |
| * libnm: document that some return values are immutableBeniamino Galvani2015-10-122-3/+7
| | | | | | | | | | | | | | | | | | | | Document that the GPtrArray returned by - nm_device_get_lldp_neighbors() - nm_ip_config_get_addresses() - nm_ip_config_get_routes() is immutable and can be used by callers without the need of a copy.
| * cli: add support for 'connection.lldp' propertyBeniamino Galvani2015-10-121-1/+61
| |
| * ifcfg-rh: add support for 'LLDP' connection propertyBeniamino Galvani2015-10-123-0/+29
| |
| * ifcfg-rh: split out parsing of boolean values from svTrueValue()Beniamino Galvani2015-10-123-60/+82
| | | | | | | | | | Move the parsing code to new function svParseBoolean() and rename svTrueValue() to svGetValueBoolean().
| * macros: add nm_clear_g_variant() utilThomas Haller2015-10-121-0/+11
| |
| * libnm: add LLDP supportBeniamino Galvani2015-10-123-0/+287
| | | | | | | | | | Add functions to libnm for retrieving a list of LLDP neighbors and accessor functions to get their attributes.
| * device: export list of LLDP neighbors through D-BusBeniamino Galvani2015-10-128-0/+839
| | | | | | | | | | | | | | This adds a LldpNeighbors property to the Device D-Bus interface carrying information about devices discovered through LLDP. The property is an array of hashes and each hash describes the values of LLDP TLVs for a specific neighbor.
| * libnm: add 'lldp' property to NMSettingConnectionBeniamino Galvani2015-10-125-0/+64
|/ | | | | | Add the 'lldp' property to NMSettingConnection, which specifies whether the reception and parsing of LLDP frames to discover neighbor devices should be enabled.
* libnm: specify (transfer none) introspection annotation (bgo #756380)Jiří Klimeš2015-10-121-2/+2
| | | | | | | | | | | Otherwise the callers would free the address and it would result in double-free. Ideally, the function would return const pointer, but changing it now would require changing also other prototypes and much code due to snowball effect of const. https://bugzilla.gnome.org/show_bug.cgi?id=756380
* macros: remove early return from nm_clear_g_signal_handler()Thomas Haller2015-10-121-3/+0
| | | | | | | | | | | It is valid to call nm_clear_g_signal_handler() with missing @self argument if (and only if) the @id is unspecified as well. Remove the check for @self to get an assertion in case @id is missing *and* @self is invalid. In this case, g_signal_handler_disconnect() will raise a g_critical() for us. Fixes: c33416178f88353b2f424a18c576de09b6ae3215
* ppp: do not pass NULL to g_variant_new ("(s)")Jiří Klimeš2015-10-121-1/+1
| | | | | The string does not like it: (NetworkManager:21031): GLib-CRITICAL **: g_variant_new_string: assertion 'string != NULL' failed
* macros: allow NULL pointer in nm_clear_g_signal_handler()Jiří Klimeš2015-10-121-1/+2
| | | | | | It does not make sense to issue an error. This should be a helper function. "NetworkManager[18341]: nm_clear_g_signal_handler: assertion 'G_IS_OBJECT (self)' failed" error started since commit e6d7fee5a617632acae02e12b1ec6156842df788 due to that.
* core: disable assertion in nm_ip[46]_config_replace() by defaultThomas Haller2015-10-102-6/+10
| | | | Only enable the assertion when compiling with nm-more-asserts.
* platform: fix wrongly return "FALSE" instead of "NULL" for pointer typeThomas Haller2015-10-101-5/+5
|
* platform: use nm_g_hash_table_add() compat wrapper in _nmp_cache_update_add()Thomas Haller2015-10-101-5/+1
|
* libnm-util/test: use "nm-test-utils.h" in test-setting-dcbThomas Haller2015-10-102-14/+15
|
* device: fix wrongly managing external-down device due to not setting ↵Thomas Haller2015-10-091-2/+3
| | | | | | | | | | | | | | | | | | | EXTERNAL_DOWN The unmanaged-flag NM_UNMANAGED_EXTERNAL_DOWN is initially set during nm_device_finish_init(). But it was only set if the device was down at that point. If due to a race the platform device was not yet initialized, a later initialization in device_link_changed() would clear NM_UNMANAGED_PLATFORM_INIT. If the device is not external-down (because it was already up during nm_device_finish_init()), the device will be managed right away with reason NM_DEVICE_STATE_REASON_NOW_MANAGED. Together with commit e29ab54335c6a5ef1ce6bac525f1f18a8e81b96e, this is a race that causes a failure to assume the external-down device. https://bugzilla.redhat.com/show_bug.cgi?id=1269199
* platform: downgrade logging level for "event-notification" messagesThomas Haller2015-10-091-2/+2
| | | | | | | | We get a lot of these debugging message, although the event is entirely internal to NMLinuxPlatform and only interesting when debugging a problem in platform itself. Downgrade to TRACE level.
* logging: merge branch 'th/logging-keep-bgo756175'Thomas Haller2015-10-095-154/+225
|\ | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=756175
| * logging: properly use current domains when setting loggingThomas Haller2015-10-091-39/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When setting the logging with omitting the domains, we would use the previously set logging domains. That was wrong since the addition of the 'KEEP' level: (1) $ nmcli g l level INFO domains DNS,CORE $ nmcli g l LEVEL DOMAINS INFO DNS,CORE (2) $ nmcli g l level KEEP domains PPP:TRACE $ nmcli g l LEVEL DOMAINS INFO PPP:TRACE,DNS,CORE (3) $ nmcli g l level ERR $ nmcli g l LEVEL DOMAINS ERR PPP:TRACE with this change, command (3) effectively translates to: $ nmcli g l level ERR domains PPP,DNS,CORE $ nmcli g l LEVEL DOMAINS ERR PPP,DNS,CORE
| * logging: refactor global variable to have them in a structThomas Haller2015-10-091-118/+128
| | | | | | | | | | | | | | | | "nm-logging.c" uses several global variables. As their name doesn't indicate that they are global variables, this is quite confusing. Pack them all into a struct @global, which effectively puts the variables into a separate namespace.
| * logging/trivial: move codeThomas Haller2015-10-091-12/+12
| |
| * platform: warn about growing sysctl logging cache and clear itThomas Haller2015-10-093-12/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When debug-logging for platform is enabled, every access to sysctl is cached (to log the last values). This cache can grow quite large if the system has a large number of interfaces (e.g. docker creating veth pairs for each container). We already used to clear the cache, when we were about to access sysctl *and* logging was disabled in the meantime. Now, when logging setup changes, immediately clear the cache. Having "nm-logging.c" call into platform code is a bit of a hack and a better design would be to have logging code emit a signal to which platform would subscribe. But that seems to involve much more code (especially, as no other users care about such a signal and because nm-logging is not a GObject). Also, log a warning when the cache grows large to inform the user about the cache and what he can do to clear it. The extra effort to clear the cache when changing logging setup is done so that we do what we tell the user: changing the logging level, will clear the cache -- right away, not some time later when the next message is logged.
| * logging: add special logging level "KEEP"Thomas Haller2015-10-093-6/+24
|/ | | | | | | | | | | | | | | | | | | | | | | | Without this, the user cannot configure only certain logging domains without touching them all. E.g. # nmcli general logging level DEBUG domains PLATFORM will disable all non-PLATFORM domains. Well, the user can do: # nmcli general logging level INFO domains PLATFORM:DEBUG # nmcli general logging level DEBUG domains ALL:INFO,PLATFORM but in this case all non-PLATFORM domains are reset explicitly. Now the user can: # nmcli general logging level KEEP domains PLATFORM:DEBUG # nmcli general logging level DEBUG domains ALL:KEEP,PLATFORM which will only change the platform domain.
* ifcfg-rh/tests: add a missing file to the distributionLubomir Rintel2015-10-091-1/+2
| | | | Fixes: 68eb350ad897abe1bd3e6fe11218f8ce688812af
* tui: add a checkbox for ignore-auto-routes (bgo #756200)Jiří Klimeš2015-10-092-0/+12
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=756200
* device: get rid of ipv4ll_timeout_remove()Beniamino Galvani2015-10-081-13/+2
| | | | nm_clear_g_source() already does that.
* device/vlan: update VLAN MAC address when parent's one changesBeniamino Galvani2015-10-081-4/+36
| | | | | | | | | | | When a VLAN has a bond as parent device the MAC address of the bond may change when other devices are enslaved and then the VLAN would have a MAC which is different from parent's one. Let the VLAN device listen for changes in hw-address property of parent and update its MAC address accordingly. https://bugzilla.redhat.com/show_bug.cgi?id=1264322
* device: fix race wrongly managing external-down device due to late udev signalThomas Haller2015-10-081-20/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Executing: # brctl addbr lbr0 # ip addr add 10.1.1.1/24 dev lbr0 # ip link set lbr0 up can result in a race so that NetworkManager would manage the device (and clear the IP addresses). It happens, when NetworkManager first receives platform signals that the device is already up: signal: link changed: 11: lbr0 <UP,LOWER_UP;broadcast,multicast,up,running,lowerup> mtu 1500 arp 1 bridge* not-init addrgenmode eui64 addr D2:A1:B4:17:18:F2 driver bridge Note that the device is still unknown via udev (not-init). The unmanaged-state NM_UNMANAGED_EXTERNAL_DOWN gets cleared, but the device still stays unmanaged. Only afterwards the device is known in udev: signal: link changed: 11: lbr0 <UP,LOWER_UP;broadcast,multicast,up,running,lowerup> mtu 1500 arp 1 bridge* init addrgenmode eui64 addr D2:A1:B4:17:18:F2 driver bridge At this point, we also clear NM_UNMANAGED_PLATFORM_INIT, making the device managed with reason NM_DEVICE_STATE_REASON_NOW_MANAGED. That results in managing the external device. Fix that by only clearing NM_UNMANAGED_EXTERNAL_DOWN after the device is no longer NM_UNMANAGED_PLATFORM_INIT. https://bugzilla.redhat.com/show_bug.cgi?id=1269199
* systemd: grant the daemon a license to kill kidsLubomir Rintel2015-10-081-1/+1
| | | | | It's for their own good. Otherwise stale dnsmasq instances haunt the shared connections.
* ifcfg-rh: accept BOOTPROTO=static with missing IPv4 addressesJosef Bacik2015-10-083-6/+26
| | | | | | | | | | | | | Dracut when faced with an ipv6 only setup during kickstart will generate a ifcfg file that sets the ipv4 address things to null but sets BOOTPROTO=static. This makes network manager screw up because it expects an ipv4 address to be set. Instead deal with this case by checking if we have any ipv4 addrs set, and if not just disable ipv4. This fixes our inability to kickstart in our ipv6 only clusters. Thanks, Signed-off-by: Josef Bacik <jbacik@fb.com> https://mail.gnome.org/archives/networkmanager-list/2015-October/msg00015.html
* merge: merge branch 'systemd' into masterBeniamino Galvani2015-10-0854-1046/+7065
|\
| * systemd: update code from upstreamBeniamino Galvani2015-10-0749-1020/+6966
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct dump from systemd git on 2015-10-07, git commit 69b8a8ebaeaae13e82d44b386555921877bc0309. ====== SYSTEMD_DIR=../systemd COMMIT=69b8a8ebaeaae13e82d44b386555921877bc0309 ( cd "$SYSTEMD_DIR" git checkout "$COMMIT" git reset --hard git clean -fdx ) git ls-files :/src/systemd/src/ | xargs -d '\n' rm -f nm_copy_sd() { mkdir -p "./src/systemd/$(dirname "$1")" cp "$SYSTEMD_DIR/$1" "./src/systemd/$1" } nm_copy_sd "src/basic/async.h" nm_copy_sd "src/basic/fileio.c" nm_copy_sd "src/basic/fileio.h" nm_copy_sd "src/basic/hashmap.h" nm_copy_sd "src/basic/hashmap.c" nm_copy_sd "src/basic/hostname-util.c" nm_copy_sd "src/basic/hostname-util.h" nm_copy_sd "src/basic/in-addr-util.c" nm_copy_sd "src/basic/in-addr-util.h" nm_copy_sd "src/basic/list.h" nm_copy_sd "src/basic/log.h" nm_copy_sd "src/basic/macro.h" nm_copy_sd "src/basic/mempool.h" nm_copy_sd "src/basic/mempool.c" nm_copy_sd "src/basic/path-util.c" nm_copy_sd "src/basic/path-util.h" nm_copy_sd "src/basic/prioq.h" nm_copy_sd "src/basic/prioq.c" nm_copy_sd "src/basic/random-util.c" nm_copy_sd "src/basic/random-util.h" nm_copy_sd "src/basic/refcnt.h" nm_copy_sd "src/basic/set.h" nm_copy_sd "src/basic/siphash24.c" nm_copy_sd "src/basic/siphash24.h" nm_copy_sd "src/basic/socket-util.h" nm_copy_sd "src/basic/sparse-endian.h" nm_copy_sd "src/basic/strv.c" nm_copy_sd "src/basic/strv.h" nm_copy_sd "src/basic/time-util.c" nm_copy_sd "src/basic/time-util.h" nm_copy_sd "src/basic/unaligned.h" nm_copy_sd "src/basic/utf8.c" nm_copy_sd "src/basic/utf8.h" nm_copy_sd "src/basic/util.c" nm_copy_sd "src/basic/util.h" nm_copy_sd "src/libsystemd-network/arp-util.c" nm_copy_sd "src/libsystemd-network/arp-util.h" nm_copy_sd "src/libsystemd-network/dhcp6-internal.h" nm_copy_sd "src/libsystemd-network/dhcp6-lease-internal.h" nm_copy_sd "src/libsystemd-network/dhcp6-network.c" nm_copy_sd "src/libsystemd-network/dhcp6-option.c" nm_copy_sd "src/libsystemd-network/dhcp6-protocol.h" nm_copy_sd "src/libsystemd-network/dhcp-identifier.c" nm_copy_sd "src/libsystemd-network/dhcp-identifier.h" nm_copy_sd "src/libsystemd-network/dhcp-internal.h" nm_copy_sd "src/libsystemd-network/dhcp-lease-internal.h" nm_copy_sd "src/libsystemd-network/dhcp-network.c" nm_copy_sd "src/libsystemd-network/dhcp-option.c" nm_copy_sd "src/libsystemd-network/dhcp-packet.c" nm_copy_sd "src/libsystemd-network/dhcp-protocol.h" nm_copy_sd "src/libsystemd-network/lldp.h" nm_copy_sd "src/libsystemd-network/lldp-internal.h" nm_copy_sd "src/libsystemd-network/lldp-internal.c" nm_copy_sd "src/libsystemd-network/lldp-network.h" nm_copy_sd "src/libsystemd-network/lldp-network.c" nm_copy_sd "src/libsystemd-network/lldp-port.c" nm_copy_sd "src/libsystemd-network/lldp-port.h" nm_copy_sd "src/libsystemd-network/lldp-tlv.c" nm_copy_sd "src/libsystemd-network/lldp-tlv.h" nm_copy_sd "src/libsystemd-network/lldp-util.h" nm_copy_sd "src/libsystemd-network/network-internal.c" nm_copy_sd "src/libsystemd-network/network-internal.h" nm_copy_sd "src/libsystemd-network/sd-dhcp6-client.c" nm_copy_sd "src/libsystemd-network/sd-dhcp6-lease.c" nm_copy_sd "src/libsystemd-network/sd-dhcp-client.c" nm_copy_sd "src/libsystemd-network/sd-dhcp-lease.c" nm_copy_sd "src/libsystemd-network/sd-ipv4ll.c" nm_copy_sd "src/libsystemd-network/sd-ipv4acd.c" nm_copy_sd "src/libsystemd-network/sd-lldp.c" nm_copy_sd "src/libsystemd/sd-id128/sd-id128.c" nm_copy_sd "src/libsystemd/sd-event/event-util.h" nm_copy_sd "src/shared/dns-domain.c" nm_copy_sd "src/shared/dns-domain.h" nm_copy_sd "src/systemd/_sd-common.h" nm_copy_sd "src/systemd/sd-dhcp6-client.h" nm_copy_sd "src/systemd/sd-dhcp6-lease.h" nm_copy_sd "src/systemd/sd-dhcp-client.h" nm_copy_sd "src/systemd/sd-dhcp-lease.h" nm_copy_sd "src/systemd/sd-event.h" nm_copy_sd "src/systemd/sd-icmp6-nd.h" nm_copy_sd "src/systemd/sd-id128.h" nm_copy_sd "src/systemd/sd-ipv4acd.h" nm_copy_sd "src/systemd/sd-ipv4ll.h" nm_copy_sd "src/systemd/sd-lldp.h"
* | libnm: explicitly cast enum type for g_object_set()Thomas Haller2015-10-081-1/+1
| | | | | | | | Fixes: 687b6515980c08cdbb9734bd112a594166c4d6dd
* | dhcp-systemd: sd_dhcp_lease_load() returns no lease or error on ENOENTLubomir Rintel2015-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the lease file doesn't exist sd_dhcp_lease_load() still indicates success while not returning any lease, resulting in an assertion fail when we try to generate an IP4Config: #0 g_logv (log_domain=0x7f309b45dba0 "NetworkManager", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args@entry=0x7ffc815c38e0) at gmessages.c:1046 #1 0x00007f3097d4fa3f in g_log (log_domain=log_domain@entry=0x7f309b45dba0 "NetworkManager", log_level=log_level@entry=G_LOG_LEVEL_CRITICAL, format=format@entry=0x7f3097dbd73d "%s: assertion '%s' failed") at gmessages.c:1079 #2 0x00007f3097d4fa79 in g_return_if_fail_warning (log_domain=log_domain@entry=0x7f309b45dba0 "NetworkManager", pretty_function=pretty_function@entry=0x7f309b456b30 <__FUNCTION__.31435> "lease_to_ip4_config", expression=expression@entry=0x7f309b456417 "lease != NULL") at gmessages.c:1088 #3 0x00007f309b35454a in lease_to_ip4_config (lease=0x0, options=options@entry=0x0, default_priority=default_priority@entry=100, log_lease=log_lease@entry=0, error=0x0) at dhcp-manager/nm-dhcp-systemd.c:230 #4 0x00007f309b3546a0 in nm_dhcp_systemd_get_lease_ip_configs (iface=<optimized out>, uuid=<optimized out>, ipv6=<optimized out>, default_route_metric=100) at dhcp-manager/nm-dhcp-systemd.c:397 #5 0x00007f309b35ed4a in find_ip4_lease_config (ext_ip4_config=0x7f309cbe8640, connection=0x7f309cb98250, self=0x7f309cbfb7b0) at devices/nm-device.c:7215 #6 capture_lease_config (ext_ip6_config=0x0, out_ip6_config=0x0, out_ip4_config=0x7f309cbfb5d0, ext_ip4_config=0x7f309cbe8640, self=0x7f309cbfb7b0) at devices/nm-device.c:7289 #7 update_ip4_config (self=self@entry=0x7f309cbfb7b0, initial=initial@entry=1) at devices/nm-device.c:7323 #8 0x00007f309b3608be in nm_device_capture_initial_config (self=self@entry=0x7f309cbfb7b0) at devices/nm-device.c:7428 #9 0x00007f309b3dbaad in get_existing_connection (out_generated=<synthetic pointer>, device=0x7f309cbfb7b0, manager=0x7f309cb7f150) at nm-manager.c:1550 #10 recheck_assume_connection (device=device@entry=0x7f309cbfb7b0, user_data=user_data@entry=0x7f309cb7f150) at nm-manager.c:1689 #11 0x00007f309b3dc62d in add_device (self=0x7f309cb7f150, device=0x7f309cbfb7b0, try_assume=1) at nm-manager.c:1875 #12 0x00007f309b3dcd10 in platform_link_added (self=self@entry=0x7f309cb7f150, ifindex=<optimized out>, plink=plink@entry=0x7f309cbcff40) at nm-manager.c:1984 #13 0x00007f309b3df7d4 in platform_query_devices (self=0x7f309cb7f150) at nm-manager.c:2056 #14 nm_manager_start (self=0x7f309cb7f150) at nm-manager.c:4220 #15 0x00007f309b341f2c in main (argc=1, argv=0x7ffc815c3f68) at main.c:494
* | core: merge branch 'th/device-schedule-activation-bgo756129'Thomas Haller2015-10-072-206/+240
|\ \ | | | | | | | | | https://bugzilla.gnome.org/show_bug.cgi?id=756129