summaryrefslogtreecommitdiff
path: root/libnm-core/nm-setting-contrail-vrouter.h
diff options
context:
space:
mode:
authorOlegBravo <oleg.bravo.ru@gmail.com>2019-10-15 16:13:37 +0300
committerLubomir Rintel <lkundrak@v3.sk>2019-10-30 16:13:47 +0100
commit12661e2f21e9c8c68d6d174f5ff5b952e394c8a2 (patch)
treec3abfed2cb039540827e66ab322ece8a8dd58235 /libnm-core/nm-setting-contrail-vrouter.h
parent5535dcf51ba759555a8e20504030dc59e526925e (diff)
downloadNetworkManager-12661e2f21e9c8c68d6d174f5ff5b952e394c8a2.tar.gz
Vhost0 management integration.contrail/vrouter
Removing systemd networking configuration at RHEL8 jeopardized Contrail Virtual Router deployment (https://github.com/Juniper/contrail-vrouter ) - multiple CNI are based on this project. Problem is in configuring vhost0 - layer3 interface , used between host OS and Vrouter itself. It is being configured with systemd now , but for newest RHEL major release this functionality should be moved to NetworkManager. This will also benefit recent problems we had with OpenShift which also uses NM. Documentation was added into README.md , for new functinality testing - just follow it , creating of vhost0 interface is expted as successfull result.
Diffstat (limited to 'libnm-core/nm-setting-contrail-vrouter.h')
-rw-r--r--libnm-core/nm-setting-contrail-vrouter.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/libnm-core/nm-setting-contrail-vrouter.h b/libnm-core/nm-setting-contrail-vrouter.h
new file mode 100644
index 0000000000..82ebb9b769
--- /dev/null
+++ b/libnm-core/nm-setting-contrail-vrouter.h
@@ -0,0 +1,41 @@
+// SPDX-License-Identifier: LGPL-2.1+
+/*
+ * Copyright (C) 2007 - 2013 Red Hat, Inc.
+ * Copyright (C) 2007 - 2008 Novell, Inc.
+ */
+
+#ifndef __NM_SETTING_CONTRAIL_VROUTER_H__
+#define __NM_SETTING_CONTRAIL_VROUTER_H__
+
+#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION)
+#error "Only <NetworkManager.h> can be included directly."
+#endif
+
+#include "nm-setting.h"
+
+G_BEGIN_DECLS
+
+#define NM_TYPE_SETTING_CONTRAIL_VROUTER (nm_setting_contrail_vrouter_get_type ())
+#define NM_SETTING_CONTRAIL_VROUTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_SETTING_CONTRAIL_VROUTER, NMSettingContrailVrouter))
+#define NM_SETTING_CONTRAIL_VROUTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_SETTING_CONTRAIL_VROUTERCONFIG, NMSettingContrailVrouterClass))
+#define NM_IS_SETTING_CONTRAIL_VROUTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_SETTING_CONTRAIL_VROUTER))
+#define NM_IS_SETTING_CONTRAIL_VROUTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_SETTING_CONTRAIL_VROUTER))
+#define NM_SETTING_CONTRAIL_VROUTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_SETTING_CONTRAIL_VROUTER, NMSettingContrailVrouterClass))
+
+#define NM_SETTING_CONTRAIL_VROUTER_SETTING_NAME "contrail-vrouter"
+
+#define NM_SETTING_CONTRAIL_VROUTER_PHYSDEV "physdev"
+
+typedef struct _NMSettingContrailVrouterClass NMSettingContrailVrouterClass;
+
+NM_AVAILABLE_IN_1_14
+GType nm_setting_contrail_vrouter_get_type (void);
+NM_AVAILABLE_IN_1_14
+NMSetting *nm_setting_contrail_vrouter_new (void);
+
+NM_AVAILABLE_IN_1_14
+const char *nm_setting_contrail_vrouter_get_physdev (NMSettingContrailVrouter *self);
+
+G_END_DECLS
+
+#endif /* __NM_SETTING_CONTRAIL_VROUTER_H__ */