Open another socket to speak Generic Netlink.
This is aimed towards adding WireGuard support, which requires genl.
---
src/platform/nm-linux-platform.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index b6537d5cb..32d4203b8 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -2987,6 +2987,8 @@ typedef struct {
GIOChannel *event_channel;
guint event_id;
+ struct nl_sock *genlh;
+
bool pruning[_DELAYED_ACTION_IDX_REFRESH_ALL_NUM];
bool sysctl_get_warned;
@@ -7094,6 +7096,13 @@ constructed (GObject *_object)
(EVENT_CONDITIONS | ERROR_CONDITIONS |
DISCONNECT_CONDITIONS),
event_handler, platform);
+ priv->genlh = nl_socket_alloc ();
+ g_assert (priv->genlh);
+
+ nle = nl_connect (priv->genlh, NETLINK_GENERIC);
+ g_assert (!nle);
+ _LOGD ("Generic netlink socket established: port=%u, fd=%d",
nl_socket_get_local_port (priv->genlh), nl_socket_get_fd (priv->genlh));
+
/* complete construction of the GObject instance before populating the
cache. */
G_OBJECT_CLASS (nm_linux_platform_parent_class)->constructed (_object);
--
2.17.1
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list