diff options
author | Thomas Haller <thaller@redhat.com> | 2023-02-08 20:49:40 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2023-02-08 20:49:40 +0100 |
commit | 3fd28a11d4bb9e7cfd9f86bc3af90a71a447f7fc (patch) | |
tree | 3b7daad586b60bf86f7a97a25e44bbf048bcb111 | |
parent | 8b66865a88af7bf835147d66c309dae008507c36 (diff) | |
parent | 0e3d2c367c1cb640e79eba13a38feae0996507be (diff) | |
download | NetworkManager-3fd28a11d4bb9e7cfd9f86bc3af90a71a447f7fc.tar.gz |
dispatcher: merge branch 'dylanvanassche:method-change-dispatch'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1311
-rw-r--r-- | man/NetworkManager-dispatcher.xml | 6 | ||||
-rw-r--r-- | src/core/devices/nm-device.c | 4 | ||||
-rw-r--r-- | src/core/nm-dispatcher.c | 3 | ||||
-rw-r--r-- | src/core/nm-dispatcher.h | 3 | ||||
-rw-r--r-- | src/libnm-core-aux-extern/nm-dispatcher-api.h | 1 |
5 files changed, 15 insertions, 2 deletions
diff --git a/man/NetworkManager-dispatcher.xml b/man/NetworkManager-dispatcher.xml index 4a603b1566..036b3c8dcc 100644 --- a/man/NetworkManager-dispatcher.xml +++ b/man/NetworkManager-dispatcher.xml @@ -164,6 +164,12 @@ The network connectivity state has changed (no connectivity, went online, etc). </para></listitem> </varlistentry> + <varlistentry> + <term><varname>reapply</varname></term> + <listitem><para> + The connection was reapplied on the device. + </para></listitem> + </varlistentry> </variablelist> <para> The environment contains more information about the interface and the connection. diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c index 248f2364f5..db0d2dd24d 100644 --- a/src/core/devices/nm-device.c +++ b/src/core/devices/nm-device.c @@ -13041,6 +13041,10 @@ check_and_reapply_connection(NMDevice *self, if (priv->state >= NM_DEVICE_STATE_ACTIVATED) nm_device_update_metered(self); + /* Notify dispatcher when re-applied */ + _LOGD(LOGD_DEVICE, "Notifying re-apply complete"); + nm_dispatcher_call_device(NM_DISPATCHER_ACTION_REAPPLY, self, NULL, NULL, NULL, NULL); + return TRUE; } diff --git a/src/core/nm-dispatcher.c b/src/core/nm-dispatcher.c index ab361faa7b..01a6382609 100644 --- a/src/core/nm-dispatcher.c +++ b/src/core/nm-dispatcher.c @@ -468,7 +468,8 @@ static const char *action_table[] = {[NM_DISPATCHER_ACTION_HOSTNAME] = NMD_ [NM_DISPATCHER_ACTION_DHCP_CHANGE_4] = NMD_ACTION_DHCP4_CHANGE, [NM_DISPATCHER_ACTION_DHCP_CHANGE_6] = NMD_ACTION_DHCP6_CHANGE, [NM_DISPATCHER_ACTION_CONNECTIVITY_CHANGE] = - NMD_ACTION_CONNECTIVITY_CHANGE}; + NMD_ACTION_CONNECTIVITY_CHANGE, + [NM_DISPATCHER_ACTION_REAPPLY] = NMD_ACTION_REAPPLY}; static const char * action_to_string(NMDispatcherAction action) diff --git a/src/core/nm-dispatcher.h b/src/core/nm-dispatcher.h index 73e0599a75..3071639922 100644 --- a/src/core/nm-dispatcher.h +++ b/src/core/nm-dispatcher.h @@ -21,7 +21,8 @@ typedef enum { NM_DISPATCHER_ACTION_VPN_DOWN, NM_DISPATCHER_ACTION_DHCP_CHANGE_4, NM_DISPATCHER_ACTION_DHCP_CHANGE_6, - NM_DISPATCHER_ACTION_CONNECTIVITY_CHANGE + NM_DISPATCHER_ACTION_CONNECTIVITY_CHANGE, + NM_DISPATCHER_ACTION_REAPPLY, } NMDispatcherAction; #define NM_DISPATCHER_ACTION_DHCP_CHANGE_X(IS_IPv4) \ diff --git a/src/libnm-core-aux-extern/nm-dispatcher-api.h b/src/libnm-core-aux-extern/nm-dispatcher-api.h index 7776c84f9a..56da5fba7a 100644 --- a/src/libnm-core-aux-extern/nm-dispatcher-api.h +++ b/src/libnm-core-aux-extern/nm-dispatcher-api.h @@ -33,6 +33,7 @@ #define NMD_ACTION_DHCP4_CHANGE "dhcp4-change" #define NMD_ACTION_DHCP6_CHANGE "dhcp6-change" #define NMD_ACTION_CONNECTIVITY_CHANGE "connectivity-change" +#define NMD_ACTION_REAPPLY "reapply" typedef enum { DISPATCH_RESULT_UNKNOWN = 0, |