summaryrefslogtreecommitdiff
path: root/libnm/nm-device-vrf.h
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2019-12-05 10:36:54 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2020-01-14 09:51:56 +0100
commit667568d1b2be54b03ce1dd078433a32c39a2a3eb (patch)
treedb4cb3002a0517c5d2438a3f02dc06a2c81cf9f4 /libnm/nm-device-vrf.h
parent7c73c6a038a15687bfc9d831b97e01596ec3fe9d (diff)
downloadNetworkManager-667568d1b2be54b03ce1dd078433a32c39a2a3eb.tar.gz
core,libnm: add VRF support
Add VRF support to the daemon. When the device we are activating is a VRF or a VRF's slave, put routes in the table specified by the VRF connection. Also, introduce a VRF device type in libnm.
Diffstat (limited to 'libnm/nm-device-vrf.h')
-rw-r--r--libnm/nm-device-vrf.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/libnm/nm-device-vrf.h b/libnm/nm-device-vrf.h
new file mode 100644
index 0000000000..bf7499ca70
--- /dev/null
+++ b/libnm/nm-device-vrf.h
@@ -0,0 +1,35 @@
+// SPDX-License-Identifier: LGPL-2.1+
+
+#ifndef __NM_DEVICE_VRF_H__
+#define __NM_DEVICE_VRF_H__
+
+#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION)
+#error "Only <NetworkManager.h> can be included directly."
+#endif
+
+#include "nm-device.h"
+
+G_BEGIN_DECLS
+
+#define NM_TYPE_DEVICE_VRF (nm_device_vrf_get_type ())
+#define NM_DEVICE_VRF(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_VRF, NMDeviceVrf))
+#define NM_DEVICE_VRF_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_VRF, NMDeviceVrfClass))
+#define NM_IS_DEVICE_VRF(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_VRF))
+#define NM_IS_DEVICE_VRF_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_VRF))
+#define NM_DEVICE_VRF_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_VRF, NMDeviceVrfClass))
+
+#define NM_DEVICE_VRF_TABLE "table"
+
+/**
+ * NMDeviceVrf:
+ */
+typedef struct _NMDeviceVrfClass NMDeviceVrfClass;
+
+NM_AVAILABLE_IN_1_24
+GType nm_device_vrf_get_type (void);
+NM_AVAILABLE_IN_1_24
+guint32 nm_device_vrf_get_table (NMDeviceVrf *device);
+
+G_END_DECLS
+
+#endif /* __NM_DEVICE_VRF_H__ */