summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* clients: add ovs-dpdk interface supportlr/ovs-dpdkLubomir Rintel2019-06-142-1/+14
|
* ovs/ovsdb: add support for setting dpdk devargs optionLubomir Rintel2019-06-141-4/+14
|
* core/ovs-interface: add support for dpdk typeLubomir Rintel2019-06-141-15/+29
|
* libnm-core: add ovs-dpdk settingLubomir Rintel2019-06-1413-1/+248
|
* ovs/ovsdb: remove unused headersLubomir Rintel2019-06-141-2/+1
| | | | Just include what is actually needed.
* core/ovs-interface: fix type documentationLubomir Rintel2019-06-142-2/+2
|
* merge: branch 'lr/ovs-failures'Lubomir Rintel2019-06-143-31/+96
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/182
| * ovs/factory: fail the NMDevice if there's an error in OVSDBlr/ovs-failuresLubomir Rintel2019-06-141-1/+40
| |
| * ovs/ovsdb: track the devices before we signal additionLubomir Rintel2019-06-141-3/+3
| | | | | | | | | | | | This doesn't make any difference in practice, but it seems more correct. It would cause issues if we decided to remove an interface from the signal handler.
| * ovs/ovsdb: signal a failure when an error column is setLubomir Rintel2019-06-142-5/+24
| | | | | | | | | | | | | | When an interface (other OVS device types can not fail) encounters an error it indicates it by changing the error column. Watch for those changes so that we can eventually communicate them to the OVS factory to deal with them.
| * ovs/ovsdb: fix signal handler argument typesLubomir Rintel2019-06-141-2/+2
| |
| * ovs/ovsdb: remove the device-changes signalLubomir Rintel2019-06-142-15/+0
| | | | | | | | | | It doesn't communicate anything about the nature of the change and indeed nothing uses it.
| * ovs/ovsdb: guard against OVSDB integrity issuesLubomir Rintel2019-06-141-9/+31
|/ | | | | | | Don't crash in situations, where the bridge or a port has a child with UUID we don't know. This could happen if we mess up the parsing of messages from OVSDB, but could also theoretically happen in OVSDB sends us bad data.
* build: only update config-extra.h if it changesLubomir Rintel2019-06-141-19/+19
| | | | | | | | This is to avoid updating config-extra.h timestamp very time one touches Makefile.am, because it has a large dependency chain and makes debugging of the Makefile inconvenient. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/180
* settings: merge branch 'th/various-settings-cleanup'Thomas Haller2019-06-1318-765/+933
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/172
| * libnm: add _nm_connection_ensure_normalized() helperThomas Haller2019-06-132-0/+60
| |
| * libnm: add nmtst_connection_assert_unchanging() helperThomas Haller2019-06-132-19/+65
| |
| * settings: remove unused NMSettingsConnection.supports_secrets() functionThomas Haller2019-06-133-26/+0
| |
| * settings: use _nm_utils_slist_to_strv() for NMSettings:unmanaged-specs ↵Thomas Haller2019-06-131-13/+6
| | | | | | | | | | | | | | | | | | | | | | property getter Note that now the empty list will be represented as %NULL instead of an empty strv array. That makes no difference in pratice. The main use of this property is as glue for NMDBusManager to expose the property on D-Bus. Thereby it uses g_dbus_gvalue_to_gvariant() which handles %NULL just fine.
| * settings,libnm: move is-adhoc-wpa check to libnmThomas Haller2019-06-133-34/+31
| | | | | | | | "nm-settings.c" is complex enough. Move this trivial helper function to libnm-core.
| * manager: cleanup freeing CList in NMManager's dispose()Thomas Haller2019-06-131-6/+6
| | | | | | | | | | To unlink all elements, I find a while() loop easier to read than c_list_for_each_*safe().
| * auth-chain: track auth-chains in embedded CListThomas Haller2019-06-134-36/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NMManager and NMSettings both may have multiple authorization requests ongoing. They need to keep track of them, at the very least to be able to cancel them on shutdown. Since NMAuthChain is not ref-countable, it always has only one clear user/owner. It makes little sense otherwise. Since most callers already want to track their NMAuthChain instances, let NMAuthChain help with that. Embed a "parent" CList field inside NMAuthChain. This avoids requiring an additional GSList allocation to track the element. Also, it allows to link and append an element without iterating the list. This ties the caller and the NMAuthChain a bit tighter together (making them less indepdendent). Generally that is not desirable. But here it seems the logic (of tracking the NMAuthChain) is still trivial and well separated. It's just that NMAuthChain instances now can be linked in a CList.
| * settings,keyfile: move openconnect hack from settings to keyfile readerThomas Haller2019-06-132-47/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | VPN settings (for openconnect) can only be handled by the keyfile settings plugin. In any case, such special casing belongs to the settings plugin and not "nm-settings.c". The reason is that the settings plugin already has an intimate understanding of the content of connections, it knows which fields exist, their meaning, etc. It makes sense special handling of openconnect is done there. See also commit 304d0b869bfe ('core: openconnect migration hack'). Unfortunately it's not clear to me why/whether this is still the right thing to do.
| * settings: in have_connection_for_device() first skip over irrelevant ↵Thomas Haller2019-06-131-13/+9
| | | | | | | | | | | | | | | | | | connection types nm_device_check_connection_compatible() is potentially expensive. Check first whether the connection candidate is of a relevant type, hoping that this check is cheaper and thus shortcuts other checks early.
| * settings/trivial: move code aroundThomas Haller2019-06-131-521/+535
| | | | | | | | | | | | "nm-settings.c" has more than 2000 LOC. Code that is related should be grouped better so that it's easier to understand how it belongs together.
| * settings: use nm_utils_g_slist_find_str() in update_specs()Thomas Haller2019-06-131-24/+15
| | | | | | | | | | | | | | | | | | NMSettings is complicated enough. We should try to move independent code out of it, so that there is only logic that is essential there. While at it, rework how we copy the GSList items. I don't like GSList as a data structure, but there really is no need to allocate a new list. Just unlink the list element and prepend it in the other list.
| * settings: drop nm_settings_plugin_initialize() and initialize on demandThomas Haller2019-06-134-20/+18
| | | | | | | | | | | | | | | | As nm_settings_plugin_initialize() could not fail (it returned no value indicating failure), there is no reason to explicitly call this. Instead just initialize the plugin when needed. Also, we don't need the plugin to initialize early before nm_settings_plugin_get_connections().
| * settings: log settings plugin nameThomas Haller2019-06-131-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of <info> [1558284380.2045] settings: Loaded settings plugin: SettingsPluginIfcfg ("/usr/lib64/NetworkManager/1.19.2/libnm-settings-plugin-ifcfg-rh.so") log <info> [1558284380.2045] settings: Loaded settings plugin: ifcfg-rh ("/usr/lib64/NetworkManager/1.19.2/libnm-settings-plugin-ifcfg-rh.so") Note how `man NetworkManager.conf` documents "main.plugins" configuration option where settings plugins have names like "keyfile" and "ifcfg-rh". It's not helpful to log the GObject type name, which is an implementation detail.
| * settings: don't remember path of setting pluginThomas Haller2019-06-131-14/+0
| | | | | | | | | | | | | | | | | | It was only kept to compare whether we loaded the same plugin multiple times. Note that load_plugins() already checks for duplicate plugin names, so it actually could not happen that we tried to load the same file more than once.
| * libnm: cleanup GSList/GPtrArray to/from strv conversionThomas Haller2019-06-132-23/+35
| |
| * libnm: don't assert against %NULL string in nm_utils_is_uuid()Thomas Haller2019-06-131-2/+6
| | | | | | | | | | | | | | | | For a "is" check, it's inconvenient to assert against the parameter being %NULL. We should accept %NULL and just say that it's not a valid uuid. This relaxes previous API.
| * shared: add nm_g_variant_ref_sink() utilThomas Haller2019-06-131-0/+8
| |
| * shared: add nm_c_list_elem_find_first() and minor cleanups of NMCListElem APIThomas Haller2019-06-131-15/+37
| |
| * shared: add nm_utils_g_slist_find_str() utilThomas Haller2019-06-132-0/+33
|/
* src/tests: show exit status in test failure of test_nm_utils_kill_child()Thomas Haller2019-06-131-1/+6
| | | | | This test keeps randomly failing. Rework is, so that we see the actual exit status in the output of the failed test.
* CONTRIBUTING: style updateThomas Haller2019-06-121-19/+18
| | | | | | | Also drop the paragraph about "autoconf mechanism". The general guideline is self evident, while it didn't mention meson builds. Also, a first time contributor likely won't likely be concerned about this, as this is already advanced.
* CONTRIBUTING: comment that all new contributions must be made under ↵Thomas Haller2019-06-121-4/+9
| | | | LGPL-2.0+ license
* tui: add only some options to new bond connectionsBeniamino Galvani2019-06-112-6/+18
| | | | | | | Instead of adding every known option to new bond connections, only add the ones supported by UI. https://bugzilla.redhat.com/show_bug.cgi?id=1715720
* libnm-core: change unsupported modes for arp_ip_targets bond optionBeniamino Galvani2019-06-111-0/+1
| | | | | | | | | | | | | If the mode is one of '802.3ad', 'tlb' or 'alb' and the connection has both 'arp_interval' and 'arp_ip_target' options, during normalization we remove 'arp_interval' because unsupported in the current mode. The connection then becomes invalid because 'arp_ip_target' requires 'arp_interval'. Since 'arp_interval' and 'arp_ip_target' are mutually dependent, the latter should also be unsupported for those bonding modes. https://bugzilla.redhat.com/show_bug.cgi?id=1718173
* cli: fix crash on autocompletionBeniamino Galvani2019-06-111-2/+3
| | | | | | | | | | | | | | | | | | @connections is NULL when doing autocompletion. Fixes the following: $ nmcli --complete-args con monitor "" help id uuid path filename ... Segmentation fault (core dumped) Fixes: 4b3297271e6f ('cli: rework connection handling for multiple results') https://bugzilla.redhat.com/show_bug.cgi?id=1716948 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/177
* merge: branch 'bg/ipv6-disabled'Beniamino Galvani2019-06-1121-50/+172
|\ | | | | | | | | https://bugzilla.redhat.com/show_bug.cgi?id=1643841 https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/129
| * core: support creating ip6-config setting with disabled methodBeniamino Galvani2019-06-111-2/+28
| | | | | | | | | | Create the new setting with method=disabled if IPv6 is disabled in the sysctl.
| * ipv6: add 'disabled' methodBeniamino Galvani2019-06-1120-48/+144
|/ | | | | | | Add a new ipv6.method value 'disabled' that completely disables IPv6 for the interface. https://bugzilla.redhat.com/show_bug.cgi?id=1643841
* device: reset cached route tables when starting new activationBeniamino Galvani2019-06-111-0/+3
| | | | | | The values cached in the device may be stale when we start a new activation because in a disconnected state we might have called ip_config_merge_and_apply() which cached the main table value.
* libnm: belatedly expose nm_ethtool_optname_is_feature() in libnmThomas Haller2019-06-113-3/+11
| | | | | | | | Also, plan right away to backport this symbol all the way back to 1.14.8. As such, we only need to add it once, with the right linker version "libnm_1_14_8". But still, the symbols first appears on a major release 1.20.0.
* man: update reference for reporting bugs in `man nmcli`Thomas Haller2019-06-111-2/+2
| | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/issues/188
* cli: fix default value for team.runner-min-portsThomas Haller2019-06-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | The default value is "1", not "0". Also, because "0" is not actually a valid value as far as teamd is concerned. This fixes: $ nmcli connection add type team autoconnect no con-name t team.runner lacp team.runner-min-ports default Error: Failed to add 't' connection: team.runner-min-ports: value out or range See "teamd.conf" manual: runner.min_ports (int) Specifies the minimum number of ports that must be active before asserting carrier in the master interface, value can be 1 – 255. Default: 1 This mistake probably happend because the teamd manual is wrong in older versions [1]. [1] https://github.com/jpirko/libteam/commit/f36c191da3d65a4744582b2eb09fa297dd85f9ae https://bugzilla.redhat.com/show_bug.cgi?id=1716987
* libnm: add nm_setting_ethtool_get_optnames() functionThomas Haller2019-06-113-0/+39
| | | | | | | | | | | | | It's rather limiting if we have no API to ask NMSettingEthtool which options are set. Note that currently NMSettingEthtool only supports offload features. In the future, it should also support other options like coalesce or ring options. Hence, this returns all option names, not only features. If a caller needs to know whether the name is an option name, he/she should call nm_ethtool_optname_is_feature().
* all: merge branch 'th/drop-emacs-file-variables'Thomas Haller2019-06-11777-974/+75
|\ | | | | | | https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/175
| * all: drop empty first line from sourcesThomas Haller2019-06-1187-87/+0
| | | | | | | | git ls-files -z -- ':(exclude)src/settings/plugins/keyfile/tests/keyfiles' | xargs -0 -n1 sed -i '1 { /^$/d }'