summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* core: merge branch 'bg/slaves-autoconnect-managed'Beniamino Galvani2019-07-082-8/+18
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/197/commits
| * manager: propagate the for-user-request flag for slaves autoconnectionBeniamino Galvani2019-07-081-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the master is activated by user, propagate the for-user-request to slaves activations when autoconnecting slaves, so that they can manage slaves device as needed. Reproducer: ip l add eth1 type veth peer name eth2 ip l set eth1 up ip l set eth2 up sleep 2 echo " * Initial state" echo " - eth1: $(nmcli -g general.state device show eth1)" nmcli con add type ethernet ifname eth1 con-name slave-test+ master br-test slave-type bridge nmcli con add type bridge ifname br-test con-name br-test+ connection.autoconnect-slaves yes ip4 172.25.1.1/24 nmcli con up br-test+ echo " * After user activation" echo " - br-test: $(nmcli -g general.state device show br-test)" echo " - eth1: $(nmcli -g general.state device show eth1)" should give: * Initial state - eth1: 10 (unmanaged) * After user activation - br-test: 100 (connected) - eth1: 100 (connected)
| * device: properly honor flags when checking connection availabilityBeniamino Galvani2019-07-081-3/+10
|/ | | | | | | | The previous code returned that the device was available when it had only unmanaged-flags that can be overridden by user, without actually considering the @flags argument. Fixes: 920346a5b98c ('device: add and use overrule-unmanaged flag for nm_device_check_connection_available()')
* dhcp: merge branch 'fg/dhcp_options2env-rh1663253'Francesco Giudici2019-07-0510-213/+850
|\ | | | | | | | | | | https://bugzilla.redhat.com/show_bug.cgi?id=1663253 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/161
| * dispatcher: add MS Azure endpoint env var expected by cloud-initfg/dhcp_options2env-rh1663253Francesco Giudici2019-07-051-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some linux distros (e.g., RHEL, CentOS and Fedora) ship a dispatcher script with their dhclient package in order to run user dhclient hook scripts also when connections are run by NetworkManager. The scripts convert the var names in the environment to the ones expected in the dhclient hook scripts. This feature is currently use by cloud-init to retrieve the MS Azure server endpoint address, which is sent in the private dhcp option 245. We just redefined the default dhclient var names for the private options from "unknown_xyz" to "private_xyz". In order to let current cloud-init version to be able to retrieve the Azure server endpoint address, add the legacy var name "unknown_245" to the dispatcher script environment.
| * dispatcher/trivial: fix typo in commentFrancesco Giudici2019-07-051-1/+1
| |
| * dhcp/dhclient: expose the private_xyz labels for dhcp private optionsFrancesco Giudici2019-07-051-3/+47
| | | | | | | | alias the default "unknown_xyz" labels when found.
| * dhcp/internal: move dhcp options management to shared dhcp codebaseFrancesco Giudici2019-07-055-290/+597
| |
| * dhcp/internal: expose on D-Bus all the private dhcp optionsFrancesco Giudici2019-07-051-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when dhclient is used as the dhcp client in NetworkManager we expose on D-Bus all the variables that are passed to our script file. In particular, we use the variable names there as labels (stripping the heading "new") taking whatever dhclient passes us. There are few exception to this. Dhclient allows to redefine option variable names and we use this functionality for a few dhcp options: dhcp option code 121 --> "rfc3442_classless_static_routes" dhcp option code 249 --> "ms_classless_static_routes" dhcp option code 252 --> "wpad" Note that for private dhcp options (224-254) default dhclient labels are in the form "unknown_$OPTNUM".
| * dhcp: access internal systemd structure to retrieve dhcp private optionsFrancesco Giudici2019-07-054-0/+91
| |
| * dhcp/internal: expose on D-Bus some more dhcp optionsFrancesco Giudici2019-07-051-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | When using the internal dhcp client we skip exporting on D-Bus many of the dhcp options received from the dhcp server. We instead export almost all of them when using the dhclient dhcp client, using the variable names passed by dhclient itself. Map more DHCP options to dhclient variable names in order to allow the internal client to retrieve them easily, namely: the server identifier, the broadcast address, the renewal time, the rebinding time and the timezone. Note that not all the DHCP options can be exported at this time because systemd-networkd code drops many it won't process, so we have no way to retrieve them without changing core systemd-networkd code.
| * dhcp/internal: expose on D-Bus the lease time dhcp optionFrancesco Giudici2019-07-051-3/+4
| | | | | | | | | | | | It was already exposed implicity as the expiration time: add also the explicit option using same format of dhclient dhcp plugin. In the meanwhile, drop the SD_DHCP_OPTION_CLIENT_IDENTIFIER as not used.
| * dhcp/internal: decrease logging level when retrieving dhcp optionsFrancesco Giudici2019-07-051-32/+62
|/ | | | | | Use DEBUG logging level for the parsing result of lease file. Moreover, use consistent labels for the dhcp options: same labels of what is exposed on D-Bus.
* dhcp: merge branch 'bg/nettools'Beniamino Galvani2019-07-0527-55/+1656
|\ | | | | | | | | | | Introduce the nettools DHCPv4 backend. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/171
| * n-dhcp4: client/probe: fix memory leakBeniamino Galvani2019-07-051-0/+1
| | | | | | | | | | | | | | | | | | The probe takes a reference to the current lease and so it must release it upon destruction. Signed-off-by: Beniamino Galvani <bgalvani@redhat.com> https://github.com/nettools/n-dhcp4/pull/1
| * n-dhcp4: client/connection: fix memory leakBeniamino Galvani2019-07-051-0/+1
| | | | | | | | | | | | | | | | Free the request when the connection gets destroyed. Signed-off-by: Beniamino Galvani <bgalvani@redhat.com> https://github.com/nettools/n-dhcp4/pull/1
| * dhcp: pass broadcast address to clientsBeniamino Galvani2019-07-057-17/+73
| | | | | | | | | | Read the broadcast address from platform and pass it to clients. Currently only the nettool backends uses it.
| * core: drop nm_platform_link_get_address_as_bytes()Beniamino Galvani2019-07-054-17/+26
| | | | | | | | | | | | Drop nm_platform_link_get_address_as_bytes() and introduce nmp_link_address_get_as_bytes() so that it becomes possible to obtain also the broadcast address without an additional lookup of the link.
| * dhcp: nettools: improve error messagesBeniamino Galvani2019-07-051-5/+5
| | | | | | | | | | | | | | Add the reason to error messages to make debugging easier. Note that n_dhcp4_client_new() also returns positive internal error values, so we can't use nm_utils_error_set_errno().
| * dhcp: nettools: decrease initial delayBeniamino Galvani2019-07-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think that artificially slowing down DHCP is not going to make users happier, so let's decrease it to the minimum allowed value (1 ms). Note that also dhclient and the internal client have it disabled. From the dhclient.conf man page: *initial-delay* parameter sets the maximum time client can wait after start before commencing first transmission. According to RFC2131 Section 4.4.1, client should wait a random time between startup and the actual first trans‐ mission. Previous versions of ISC DHCP client used to wait random time up to 5 seconds, but that was unwanted due to impact on startup time. As such, new versions have the default initial delay set to 0. To restore old behavior, please set initial-delay to 5.
| * dhcp: nettools: support the FQDN optionBeniamino Galvani2019-07-051-8/+45
| | | | | | | | | | Add option 81 (FQDN) when the ipv4.dhcp-fqdn property is set. We don't support changing the FQDN flags yet.
| * shared: add nm_sd_dns_name_to_wire_format()Beniamino Galvani2019-07-052-0/+14
| | | | | | | | | | | | Add nm_sd_dns_name_to_wire_format() based on systemd utilities to convert a name into its wire format according to RFC 1035 section 3.1. It will be used to build the content of the DHCP FQDN option.
| * systemd: add dns-domain utils to systemd static libraryBeniamino Galvani2019-07-055-6/+7
| | | | | | | | | | | | | | dns-domain.c contains useful functions for manipulating DNS names. Add it to the systemd static library we build in shared/, similarly to what we already do for other utility files that were originally in src/systemd/src/basic/.
| * dhcp: nettools: relicense as LGPLBeniamino Galvani2019-07-051-4/+5
| | | | | | | | Acked-by: Tom Gundersen <teg@jklm.no>
| * n-dhcp4: avoid {net,linux}/if.h clashes on old distrosTom Gundersen2019-07-054-7/+8
| | | | | | | | | | | | | | In particular, avoid including linux/netdevice.h from headers. This is not a problem on newer distros, but required for CentOS 7.6. Signed-off-by: Tom Gundersen <teg@jklm.no>
| * shared/n-dhcp4: avoid c_min() macro to work with old GCCTom Gundersen2019-07-052-4/+13
| | | | | | | | | | This is required for the CI to pass, as CentOS has a too old version of GCC. Ideally this patch should be dropped.
| * dhcp: add nettools dhcp4 clientTom Gundersen2019-07-0510-6/+1429
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is inspired by the existing systemd integration, with a few differences: * This parses the WPAD option, which systemd requested, but did not use. * We hook into the DAD handling, only making use of the configured address once DAD has completed successfully, and declining the lease if it fails. There are still many areas of possible improvement. In particular, we need to ensure the parsing of all options are compliant, as n-dhcp4 treats all options as opaque, unlike sd-dhcp4. We probably also need to look at how to handle failures and retries (in particular if we decline a lease). We need to query the current MTU at client startu, as well as the hardware broadcast address. Both these are provided by the kernel over netlink, so it should simply be a matter of hooking that up with NM's netlink layer. Contribution under LGPL2.0+, in addition to stated licenses.
| * dhcp: support notifying the client of the result of DADTom Gundersen2019-07-053-2/+50
|/ | | | | | | | | | The DHCP client is not meant to use the assigned address before DAD has completed successfully, if enabled. And if DAD fails, the server should be notified with a DECLINE, in order to potentially blacklist the address. Currently, none of the clients support this, but add the required callbacks, and allow clients to opt in if they want.
* systemd: merge branch systemd into masterBeniamino Galvani2019-07-0544-463/+986
|\
| * systemd: update code from upstream (2019-07-04)Beniamino Galvani2019-07-0439-455/+951
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a direct dump from systemd git. ====== SYSTEMD_DIR=../systemd COMMIT=52d8bcd131e7f3c9b7629412302e1ea46ddb70ca ( cd "$SYSTEMD_DIR" git checkout "$COMMIT" git reset --hard git clean -fdx ) git ls-files -z :/src/systemd/src/ \ :/shared/systemd/src/ \ :/shared/nm-utils/unaligned.h | \ xargs -0 rm -f nm_copy_sd_shared() { mkdir -p "./shared/systemd/$(dirname "$1")" cp "$SYSTEMD_DIR/$1" "./shared/systemd/$1" } nm_copy_sd_core() { mkdir -p "./src/systemd/$(dirname "$1")" cp "$SYSTEMD_DIR/$1" "./src/systemd/$1" } nm_copy_sd_nmutils() { mkdir -p "./shared/nm-utils/" cp "$SYSTEMD_DIR/$1" "./shared/nm-utils/${1##*/}" } nm_copy_sd_core "src/libsystemd-network/arp-util.c" nm_copy_sd_core "src/libsystemd-network/arp-util.h" nm_copy_sd_core "src/libsystemd-network/dhcp-identifier.c" nm_copy_sd_core "src/libsystemd-network/dhcp-identifier.h" nm_copy_sd_core "src/libsystemd-network/dhcp-internal.h" nm_copy_sd_core "src/libsystemd-network/dhcp-lease-internal.h" nm_copy_sd_core "src/libsystemd-network/dhcp-network.c" nm_copy_sd_core "src/libsystemd-network/dhcp-option.c" nm_copy_sd_core "src/libsystemd-network/dhcp-packet.c" nm_copy_sd_core "src/libsystemd-network/dhcp-protocol.h" nm_copy_sd_core "src/libsystemd-network/dhcp6-internal.h" nm_copy_sd_core "src/libsystemd-network/dhcp6-lease-internal.h" nm_copy_sd_core "src/libsystemd-network/dhcp6-network.c" nm_copy_sd_core "src/libsystemd-network/dhcp6-option.c" nm_copy_sd_core "src/libsystemd-network/dhcp6-protocol.h" nm_copy_sd_core "src/libsystemd-network/lldp-internal.h" nm_copy_sd_core "src/libsystemd-network/lldp-neighbor.c" nm_copy_sd_core "src/libsystemd-network/lldp-neighbor.h" nm_copy_sd_core "src/libsystemd-network/lldp-network.c" nm_copy_sd_core "src/libsystemd-network/lldp-network.h" nm_copy_sd_core "src/libsystemd-network/network-internal.c" nm_copy_sd_core "src/libsystemd-network/network-internal.h" nm_copy_sd_core "src/libsystemd-network/sd-dhcp-client.c" nm_copy_sd_core "src/libsystemd-network/sd-dhcp-lease.c" nm_copy_sd_core "src/libsystemd-network/sd-dhcp6-client.c" nm_copy_sd_core "src/libsystemd-network/sd-dhcp6-lease.c" nm_copy_sd_core "src/libsystemd-network/sd-ipv4acd.c" nm_copy_sd_core "src/libsystemd-network/sd-ipv4ll.c" nm_copy_sd_core "src/libsystemd-network/sd-lldp.c" nm_copy_sd_core "src/libsystemd/sd-event/event-source.h" nm_copy_sd_core "src/libsystemd/sd-event/event-util.c" nm_copy_sd_core "src/libsystemd/sd-event/event-util.h" nm_copy_sd_core "src/libsystemd/sd-event/sd-event.c" nm_copy_sd_core "src/libsystemd/sd-id128/id128-util.c" nm_copy_sd_core "src/libsystemd/sd-id128/id128-util.h" nm_copy_sd_core "src/libsystemd/sd-id128/sd-id128.c" nm_copy_sd_core "src/shared/dns-domain.c" nm_copy_sd_core "src/shared/dns-domain.h" nm_copy_sd_core "src/systemd/_sd-common.h" nm_copy_sd_core "src/systemd/sd-dhcp-client.h" nm_copy_sd_core "src/systemd/sd-dhcp-lease.h" nm_copy_sd_core "src/systemd/sd-dhcp6-client.h" nm_copy_sd_core "src/systemd/sd-dhcp6-lease.h" nm_copy_sd_core "src/systemd/sd-event.h" nm_copy_sd_core "src/systemd/sd-id128.h" nm_copy_sd_core "src/systemd/sd-ipv4acd.h" nm_copy_sd_core "src/systemd/sd-ipv4ll.h" nm_copy_sd_core "src/systemd/sd-lldp.h" nm_copy_sd_core "src/systemd/sd-ndisc.h" nm_copy_sd_nmutils "src/basic/unaligned.h" nm_copy_sd_shared "src/basic/alloc-util.c" nm_copy_sd_shared "src/basic/alloc-util.h" nm_copy_sd_shared "src/basic/async.h" nm_copy_sd_shared "src/basic/env-file.c" nm_copy_sd_shared "src/basic/env-file.h" nm_copy_sd_shared "src/basic/env-util.c" nm_copy_sd_shared "src/basic/env-util.h" nm_copy_sd_shared "src/basic/errno-util.h" nm_copy_sd_shared "src/basic/escape.c" nm_copy_sd_shared "src/basic/escape.h" nm_copy_sd_shared "src/basic/ether-addr-util.c" nm_copy_sd_shared "src/basic/ether-addr-util.h" nm_copy_sd_shared "src/basic/extract-word.c" nm_copy_sd_shared "src/basic/extract-word.h" nm_copy_sd_shared "src/basic/fd-util.c" nm_copy_sd_shared "src/basic/fd-util.h" nm_copy_sd_shared "src/basic/fileio.c" nm_copy_sd_shared "src/basic/fileio.h" nm_copy_sd_shared "src/basic/format-util.c" nm_copy_sd_shared "src/basic/format-util.h" nm_copy_sd_shared "src/basic/fs-util.c" nm_copy_sd_shared "src/basic/fs-util.h" nm_copy_sd_shared "src/basic/hash-funcs.c" nm_copy_sd_shared "src/basic/hash-funcs.h" nm_copy_sd_shared "src/basic/hashmap.c" nm_copy_sd_shared "src/basic/hashmap.h" nm_copy_sd_shared "src/basic/hexdecoct.c" nm_copy_sd_shared "src/basic/hexdecoct.h" nm_copy_sd_shared "src/basic/hostname-util.c" nm_copy_sd_shared "src/basic/hostname-util.h" nm_copy_sd_shared "src/basic/in-addr-util.c" nm_copy_sd_shared "src/basic/in-addr-util.h" nm_copy_sd_shared "src/basic/io-util.c" nm_copy_sd_shared "src/basic/io-util.h" nm_copy_sd_shared "src/basic/list.h" nm_copy_sd_shared "src/basic/log.h" nm_copy_sd_shared "src/basic/macro.h" nm_copy_sd_shared "src/basic/memory-util.c" nm_copy_sd_shared "src/basic/memory-util.h" nm_copy_sd_shared "src/basic/mempool.c" nm_copy_sd_shared "src/basic/mempool.h" nm_copy_sd_shared "src/basic/missing_fcntl.h" nm_copy_sd_shared "src/basic/missing_socket.h" nm_copy_sd_shared "src/basic/missing_stat.h" nm_copy_sd_shared "src/basic/missing_type.h" nm_copy_sd_shared "src/basic/parse-util.c" nm_copy_sd_shared "src/basic/parse-util.h" nm_copy_sd_shared "src/basic/path-util.c" nm_copy_sd_shared "src/basic/path-util.h" nm_copy_sd_shared "src/basic/prioq.c" nm_copy_sd_shared "src/basic/prioq.h" nm_copy_sd_shared "src/basic/process-util.c" nm_copy_sd_shared "src/basic/process-util.h" nm_copy_sd_shared "src/basic/random-util.c" nm_copy_sd_shared "src/basic/random-util.h" nm_copy_sd_shared "src/basic/set.h" nm_copy_sd_shared "src/basic/signal-util.h" nm_copy_sd_shared "src/basic/siphash24.h" nm_copy_sd_shared "src/basic/socket-util.c" nm_copy_sd_shared "src/basic/socket-util.h" nm_copy_sd_shared "src/basic/sort-util.h" nm_copy_sd_shared "src/basic/sparse-endian.h" nm_copy_sd_shared "src/basic/stat-util.c" nm_copy_sd_shared "src/basic/stat-util.h" nm_copy_sd_shared "src/basic/stdio-util.h" nm_copy_sd_shared "src/basic/string-table.c" nm_copy_sd_shared "src/basic/string-table.h" nm_copy_sd_shared "src/basic/string-util.c" nm_copy_sd_shared "src/basic/string-util.h" nm_copy_sd_shared "src/basic/strv.c" nm_copy_sd_shared "src/basic/strv.h" nm_copy_sd_shared "src/basic/time-util.c" nm_copy_sd_shared "src/basic/time-util.h" nm_copy_sd_shared "src/basic/tmpfile-util.c" nm_copy_sd_shared "src/basic/tmpfile-util.h" nm_copy_sd_shared "src/basic/umask-util.h" nm_copy_sd_shared "src/basic/utf8.c" nm_copy_sd_shared "src/basic/utf8.h" nm_copy_sd_shared "src/basic/util.c" nm_copy_sd_shared "src/basic/util.h"
* | shared: gracefully accept %NULL strings for NM_STR_HAS_PREFIX() and ↵Thomas Haller2019-07-041-4/+9
| | | | | | | | | | | | | | NM_STR_HAS_SUFFIX() In case it wasn't obvious to a caller, allow %NULL as valid string argument. Just be a bit more forgiving and fault-tolerant.
* | ifcfg-rh: fix memory leak reading infiniband settingBeniamino Galvani2019-07-041-1/+1
| |
* | device: ppp: check that connection has a PPPoE parentBeniamino Galvani2019-07-031-0/+20
| | | | | | | | | | | | | | | | | | | | | | NMDevicePPP only handles connections with the pppoe.parent property set. match_connection() already checks this when we creating a new device. We should also perform the same check in check_connection_compatible(). Fixes: 6c3195931e94 ('core: implement activation of PPP devices') https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/203
* | release: bump version to 1.19.5-dev1.19.5-devLubomir Rintel2019-07-032-2/+2
| |
* | merge: branch 'lr/bootif'Lubomir Rintel2019-07-033-15/+36
|\ \ | | | | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/195
| * | initrd/tests: add some more variations of possible BOOTIF= variableslr/bootifLubomir Rintel2019-07-031-3/+11
| | | | | | | | | | | | | | | Test the form with a hwtype and color-separated as well as hyphen-separated.
| * | initrd: skip ethernet hwtype in BOOTIFLubomir Rintel2019-07-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | Dracut documents the BOOTIF argument to be a MAC address and so we accept one in any of the conventions we recognize. However, the PXE boot loaders like to prepend a "01-" to denote an ethernet hardware type. Accept that too. https://bugzilla.redhat.com/show_bug.cgi?id=1726240
| * | core/wired: include the invalide MAC address in error messagesLubomir Rintel2019-07-021-12/+15
| | | | | | | | | | | | | | | | | | Otherwise the errors don't make much sense: 802-3-ethernet.mac-address: is not a valid MAC address
* | | cli: complete *-slave types (bond-slave, bridge-slave, team-slave)Dan Williams2019-07-021-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | While shorthand for "type ethernet slave-type <foo>" they are accepted as types by nmcli so we might as well complete them. https://bugzilla.redhat.com/show_bug.cgi?id=1654062 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/193
* | | all: merge branch 'th/various-settings-cleanup-4'Thomas Haller2019-07-026-79/+140
|\ \ \ | |/ / |/| | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/192
| * | core: create virtual device on settings changes in idle handlerThomas Haller2019-07-021-2/+49
| | | | | | | | | | | | | | | | | | | | | The callback from NMSettings about adding/updating a settings comes from a deep call-stack already. We don't know the context of it, and we shouldn't just right away create the profile. Instead, schedule an action to create it in an idle handler.
| * | ifcfg-rh: refactor code re-reading profile from disk after writeThomas Haller2019-07-021-60/+33
| | | | | | | | | | | | | | | | | | | | | The function only has one caller and it should be simple enough to perform the necessary steps right in nms_ifcfg_rh_writer_write_connection(). More functions don't (always) simplify the code.
| * | device: fix crash releasing destroyed slaveThomas Haller2019-07-023-17/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I encountered this on a WIP branch, but I think it can happen under regular conditions. I think there is no error condition here, and we should do nothing if we have no ifindex. <debug> [1561653068.2192] platform: signal: link removed: 1699: test1p <DOWN;broadcast,multicast> mtu 1500 master 1698 arp 1 veth* init addrgenmode none addr D6:14:45:97:06:75 brd FF:FF:FF:FF:FF:FF driver veth rx:0,0 tx:38,5606 ... <info> [1561653068.2617] device (test1): state change: activated -> unmanaged (reason 'unmanaged', sys-iface-state: 'removed') ... <trace> [1561653068.2635] device[0x564058c73750] (test1p): sys-iface-state: external -> removed <debug> [1561653068.2635] device[0x564058c73750] (test1p): unrealize (ifindex 1699) <debug> [1561653068.2636] device[0x564058c73750] (test1p): parent: clear <trace> [1561653068.2636] device[0x564058b98eb0] (vethbr): mtu: commit-mtu... <debug> [1561653068.2639] device[0x564058c73750] (test1p): unmanaged: flags set to [platform-init,!sleeping,!by-type,!user-explicit,!user-settings,!user-udev,!is-slave=0x10/0x1479/unmanaged/unrealized], set-unmanaged [platform-init=0x10]) <debug> [1561653068.2639] device[0x564058c73750] (test1p): unmanaged: flags set to [platform-init,!sleeping,!user-settings=0x10/0x51/unmanaged/unrealized], forget [parent,by-type,user-explicit,user-udev,external-down,is-slave=0x1c2c]) <info> [1561653068.2639] device (test1p): state change: activated -> unmanaged (reason 'unmanaged', sys-iface-state: 'removed') <debug> [1561653068.2640] device[0x564058c73750] (test1p): deactivating device (reason 'unmanaged') [3] <trace> [1561653068.2640] device[0x564058c73750] (test1p): ip4-state: set to 0 (none) <trace> [1561653068.2640] device[0x564058c73750] (test1p): ip6-state: set to 0 (none) <trace> [1561653068.2640] device[0x564058c73750] (test1p): remove_pending_action (0): 'dhcp6' not pending (expected) <trace> [1561653068.2640] device[0x564058c73750] (test1p): remove_pending_action (0): 'autoconf6' not pending (expected) <debug> [1561653068.2640] rules-manager: sync <debug> [1561653068.2640] device[0x564058c73750] (test1p): set metered value 0 <debug> [1561653068.2641] device[0x564058c73750] (test1p): ip4-config: update (commit=1, new-config=(nil)) <debug> [1561653068.2641] device[0x564058c73750] (test1p): ip6-config: update (commit=1, new-config=(nil)) <debug> [1561653068.2644] device[0x564058b98eb0] (vethbr): slave test1p state change 100 (activated) -> 10 (unmanaged) <trace> [1561653068.2644] device[0x564058b98eb0] (vethbr): master: release one slave 0x564058c73750/test1p ((src/platform/nm-platform.c:2002)): assertion '<dropped>' failed backtrace: ... #3 0x0000564057fb713e _nm_g_return_if_fail_warning (NetworkManager) #4 0x000056405808b37c release_slave (NetworkManager) #5 0x0000564058079aef nm_device_master_release_one_slave (NetworkManager) #6 0x00005640580844d7 slave_state_changed (NetworkManager) #7 0x00007efc24833fae ffi_call_unix64 (libffi.so.6) #8 0x00007efc2483396f ffi_call (libffi.so.6) #9 0x00007efc29b836e5 g_cclosure_marshal_generic (libgobject-2.0.so.0) #10 0x00007efc29b82c1d g_closure_invoke (libgobject-2.0.so.0) #11 0x00007efc29b96173 signal_emit_unlocked_R (libgobject-2.0.so.0) #12 0x00007efc29b9f29a g_signal_emit_valist (libgobject-2.0.so.0) #13 0x00007efc29b9f893 g_signal_emit (libgobject-2.0.so.0) #14 0x000056405807ab20 _set_state_full (NetworkManager) #15 0x000056405807d803 nm_device_unrealize (NetworkManager) #16 0x0000564057f6072c _platform_link_cb_idle (NetworkManager) #17 0x00007efc296a01db g_idle_dispatch (libglib-2.0.so.0) ...
| * | shared: add nm_c_list_elem_free_steal() utilThomas Haller2019-07-021-0/+12
|/ /
* | merge: branch 'lr/initrd-fixes'Lubomir Rintel2019-07-023-13/+63
|\ \ | | | | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/194
| * | initrd/tests: ensure that nameserver= setting affects the correct connectionLubomir Rintel2019-07-021-2/+6
| | |
| * | initrd: don't create a default connection if there's already oneLubomir Rintel2019-07-021-2/+26
| | | | | | | | | | | | | | | | | | Certain arguments (such as "nameserver") don't specify a connection they apply to and using them would generate a default ethernet connection. This is probably not the right thing to do.
| * | initrd/tests: ensure we accept a prefix in place of an IPv4 maskLubomir Rintel2019-07-021-3/+23
| | |
| * | initrd: allow specifying the net mask in form of a prefixLubomir Rintel2019-07-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not documented in dracut.cmdline(7), however it seems to have worked and has users and Red Hat even seems to recommend this (thanks to Dan Horak for the pointers): https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/installation_guide/chap-installer-booting-ipl-s390 https://bugzilla.redhat.com/show_bug.cgi?id=1725872
| * | initrd: remove an accidental backspaceLubomir Rintel2019-07-022-2/+2
| | |