NetworkManager/src/core
Thomas Haller 7e12d437fe
ovsdb: use the FD directly instead of GSocketConnection/GOutputStream
GSocketConnection/GOutputStream/GInputStream seems rather unnecessary.
Maybe they make sense when you want to write portable code (for
Windows). Otherwise, watching a file descriptor and reading/writing it
directly is simpler (and also more efficient).

For example, we passed no GCancellable to g_input_stream_read_async().
What does that mean w.r.t. destroying the NMOvsdb instance? I suspect
it's wrong, but it's hard to say, because there are so many layers of
code.

Note that we anyway keep state in NMOvsdb, namely the data we want to
send (output_buf) and the data we partially received (input_buf). All we
need, are poll notifications when the file descriptor is ready. To
those, we hook up the read/write callbacks. Also before was the code
async, and there were callbacks when when read/write was done. That does
not simplify the code in any way.

- we no longer use separate NMOvsdbPrivate.buf and NMOvsdbPrivate.input
  buffers. There is just a NMOvsdbPrivate.input_buf that can we can fill
  directly.
2023-04-04 08:43:21 +02:00
..
devices ovsdb: use the FD directly instead of GSocketConnection/GOutputStream 2023-04-04 08:43:21 +02:00
dhcp dhcp: export the prefix delegation 2023-04-03 16:04:55 +02:00
dns all: use G_SPAWN_CLOEXEC_PIPES with g_spawn_async_with_pipes() 2023-04-04 08:43:20 +02:00
dnsmasq all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
ndisc all: use nm_random_*() instead of g_random_*() 2023-01-30 10:51:13 +01:00
platform wifi: skip no-ir channels when determining AP channel 2023-03-28 09:46:11 +02:00
ppp all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
settings libnm,nmcli: add ipv6.dhcp-pd-hint property 2023-04-03 16:04:55 +02:00
supplicant wifi: fix aggressively roaming (background Wi-Fi scanning) based on seen-bssids 2023-03-22 17:15:54 +01:00
tests core: error out in nm_utils_kill_child_{sync,async}() if first waitpid() gives ECHILD 2023-04-03 10:27:43 +02:00
vpn dbus: deprecate the NMActiveConnection Master property 2023-02-16 11:04:14 -05:00
main-utils.c main: use helper function to write pid file in nm_main_utils_write_pidfile() 2022-10-25 13:12:49 +02:00
main-utils.h core: move nm_main_utils_get_nm_[ug]id() to "nm-core-utils.h" 2022-01-18 18:10:55 +01:00
main.c core/dbus: "RequestName" of NetworkManager D-Bus API later to fix race 2023-03-23 13:06:57 +01:00
meson.build support loopback interface 2022-11-23 20:51:22 +01:00
NetworkManagerUtils.c core: do not check 'match' settings when comparing connections 2023-03-27 22:08:44 +02:00
NetworkManagerUtils.h utils: rename NM_SETTINGS_AUTO_CONNECT_* to NM_SETTINGS_AUTOCONNECT_* 2023-02-23 09:12:43 +01:00
nm-act-request.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-act-request.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-active-connection.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-active-connection.h dbus: deprecate the NMActiveConnection Master property 2023-02-16 11:04:14 -05:00
nm-audit-manager.c audit: handle error from audit_encode_nv_string() 2022-05-11 17:06:12 +02:00
nm-audit-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-manager.c all: fix deprecated function declaration without a prototype 2022-10-11 17:21:11 +02:00
nm-auth-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-utils.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-auth-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-bond-manager.c core: add NMBondManager to handle NTF rules for balance-slb (MLAG) 2022-10-04 12:37:41 +02:00
nm-bond-manager.h core: add NMBondManager to handle NTF rules for balance-slb (MLAG) 2022-10-04 12:37:41 +02:00
nm-checkpoint-manager.c core: use nm_dbus_manager_lookup_object_with_type() 2022-03-13 12:02:08 +01:00
nm-checkpoint-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint.c device: use NMUnmanFlagOp enum members instead of literals 2023-01-27 14:47:31 +01:00
nm-checkpoint.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-config-data.c core: fix crash when reloading global dns configuration 2023-03-06 12:04:41 +01:00
nm-config-data.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-config.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-config.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-connectivity.c connectivity: avoid uninitialized variable warning in nm_connectivity_check_start() 2023-03-03 19:49:28 +01:00
nm-connectivity.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-core-utils.c core: drop unnecessary initialization in nm_utils_spawn_helper() 2023-04-04 08:43:21 +02:00
nm-core-utils.h core: fix enum argument in prototype of nm_utils_kill_process_sync(), etc. 2023-01-18 19:38:54 +01:00
nm-dbus-manager.c core/dbus: "RequestName" of NetworkManager D-Bus API later to fix race 2023-03-23 13:06:57 +01:00
nm-dbus-manager.h core/dbus: split RequestName D-Bus call out of initialization for NMDBusManager 2023-03-23 13:06:57 +01:00
nm-dbus-object.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-object.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dbus-utils.c all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-dbus-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dcb.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dcb.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-default-daemon.h libnm: move nm-errors.h include away from nm-connection.h 2022-11-13 23:36:37 +01:00
nm-dhcp-config.c all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dhcp-config.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dispatcher.c dispatcher: fix constructing the IPv4 nameserver variable 2023-02-20 09:36:30 +01:00
nm-dispatcher.h nm-dispatcher: dispatch on reapply 2023-02-08 17:08:35 +01:00
nm-firewall-utils.c firewall: pass "--wait 2" to iptables to wait for concurrent invocations 2023-01-16 10:19:39 +01:00
nm-firewall-utils.h firewall: add mlag firewall utils for multi chassis link aggregation (MLAG) for bonding-slb 2022-10-04 12:37:41 +02:00
nm-firewalld-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-firewalld-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-hostname-manager.c hostname: combine implementations of read_hostname() for Gentoo and Slackware 2023-02-08 09:51:25 +01:00
nm-hostname-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-ip-config.c core: fix constructing the IP4Config.Nameservers property 2023-03-09 07:09:14 +01:00
nm-ip-config.h core: rename and move nm_ip_config_dns_hash() 2023-02-01 09:00:56 +01:00
nm-keep-alive.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-keep-alive.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-l3-config-data.c core: fix l3cd comparison 2023-03-28 09:15:37 +02:00
nm-l3-config-data.h platform,l3cfg: remove force-commit flag for addresses/routes 2023-03-21 15:58:43 +01:00
nm-l3-ipv4ll.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-l3-ipv4ll.h all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-l3-ipv6ll.c all: add src/nm-compat-headers for patching included system headers 2022-09-23 11:43:33 +02:00
nm-l3-ipv6ll.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-l3cfg.c core: don't configure IP routes unless there are also IP addresses 2023-03-22 17:47:49 +01:00
nm-l3cfg.h platform: rework handling of failed routes during nm_platform_ip_route_sync() 2023-03-21 15:58:55 +01:00
nm-manager.c core: fix setting FD flags in _rfkill_update_system() 2023-04-04 08:43:20 +02:00
nm-manager.h core: move deactivation of active connections to the manager 2023-03-29 10:28:26 +02:00
nm-netns.c core: remove unused tag-less API from nm_netns_watcher*() 2023-03-21 15:58:46 +01:00
nm-netns.h core: remove unused tag-less API from nm_netns_watcher*() 2023-03-21 15:58:46 +01:00
nm-pacrunner-manager.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-pacrunner-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-policy.c core: don't block a connection that was removed 2023-03-29 11:19:35 +02:00
nm-policy.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-priv-helper-call.c nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-priv-helper-call.h nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-rfkill-manager.c core: export radio flags 2022-03-29 09:34:07 +02:00
nm-rfkill-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-session-monitor.c all: prefer nm wrappers to automatically attach GSource to default context 2022-03-13 11:59:42 +01:00
nm-session-monitor.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-sleep-monitor.c glib-aux: rename _nm_dbus_signal_connect{,_data}() to _nm_dbus_proxy_*() 2022-11-14 08:05:47 +01:00
nm-sleep-monitor.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-test-utils-core.h platform: drop inline cmp() wrappers around "full" versions 2022-11-21 17:56:48 +01:00
nm-types.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
README.l3cfg.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00
README.next.ip-config.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00

core

The source code of the NetworkManager daemon.

NetworkManager is a daemon that provides a D-Bus API and a file-based API for configuring the network on a Linux host.

This is the daemon source code.