diff options
author | Dan Winship <danw@gnome.org> | 2013-06-04 10:21:09 -0300 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-06-04 10:30:30 -0300 |
commit | a7068f48c5ef03aea27ebb4ec14952d2c4b66d5b (patch) | |
tree | c8577074ebbf7c1e9b2d25314f51148c44931c2a | |
parent | d9e0a7cbd6f8fdf81e2f66192828b860a38edd10 (diff) | |
download | NetworkManager-a7068f48c5ef03aea27ebb4ec14952d2c4b66d5b.tar.gz |
Revert "platform, devices: add support for vxlan devices"
This requires a very recent kernel to even compile, and the kernel
code is still rapidly changing (eg, adding IPv6 support). So take it
out for now, until it stabilizes.
This reverts commit 7f0f04d1067ff05527007e03af591a2bfecadafb.
-rw-r--r-- | include/NetworkManager.h | 1 | ||||
-rw-r--r-- | introspection/Makefile.am | 1 | ||||
-rw-r--r-- | introspection/nm-device-vxlan.xml | 116 | ||||
-rw-r--r-- | src/Makefile.am | 3 | ||||
-rw-r--r-- | src/devices/nm-device-vxlan.c | 350 | ||||
-rw-r--r-- | src/devices/nm-device-vxlan.h | 70 | ||||
-rw-r--r-- | src/nm-manager.c | 4 | ||||
-rw-r--r-- | src/platform/nm-fake-platform.c | 7 | ||||
-rw-r--r-- | src/platform/nm-linux-platform.c | 68 | ||||
-rw-r--r-- | src/platform/nm-platform.c | 11 | ||||
-rw-r--r-- | src/platform/nm-platform.h | 21 | ||||
-rw-r--r-- | src/platform/tests/platform.c | 44 |
12 files changed, 0 insertions, 696 deletions
diff --git a/include/NetworkManager.h b/include/NetworkManager.h index b0bdc2aa5b..77360561d9 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -57,7 +57,6 @@ #define NM_DBUS_INTERFACE_DEVICE_VETH NM_DBUS_INTERFACE_DEVICE ".Veth" #define NM_DBUS_INTERFACE_DEVICE_TUN NM_DBUS_INTERFACE_DEVICE ".Tun" #define NM_DBUS_INTERFACE_DEVICE_MACVLAN NM_DBUS_INTERFACE_DEVICE ".Macvlan" -#define NM_DBUS_INTERFACE_DEVICE_VXLAN NM_DBUS_INTERFACE_DEVICE ".Vxlan" #define NM_DBUS_INTERFACE_DEVICE_GRE NM_DBUS_INTERFACE_DEVICE ".Gre" diff --git a/introspection/Makefile.am b/introspection/Makefile.am index 3bbd853769..fc2d773e0b 100644 --- a/introspection/Makefile.am +++ b/introspection/Makefile.am @@ -19,7 +19,6 @@ EXTRA_DIST = \ nm-device-veth.xml \ nm-device-tun.xml \ nm-device-macvlan.xml \ - nm-device-vxlan.xml \ nm-device-gre.xml \ nm-device.xml \ nm-ip4-config.xml \ diff --git a/introspection/nm-device-vxlan.xml b/introspection/nm-device-vxlan.xml deleted file mode 100644 index d0c84bdb93..0000000000 --- a/introspection/nm-device-vxlan.xml +++ /dev/null @@ -1,116 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> - -<node name="/" xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"> - <interface name="org.freedesktop.NetworkManager.Device.Vxlan"> - - <property name="Parent" type="o" access="read"> - <tp:docstring> - The object path of the parent device (if the VXLAN is not - purely internal to this host). - </tp:docstring> - </property> - - <property name="Id" type="u" access="read"> - <tp:docstring> - The VXLAN Network Identifier (VNI). - </tp:docstring> - </property> - - <property name="Group" type="s" access="read"> - <tp:docstring> - The IP multicast group used to communicate with other physical - hosts on this VXLAN. - </tp:docstring> - </property> - - <property name="Local" type="s" access="read"> - <tp:docstring> - The local address to use when sending VXLAN packets to other - physical hosts. - </tp:docstring> - </property> - - <property name="Tos" type="y" access="read"> - <tp:docstring> - The value to use in the IP ToS field for VXLAN packets sent to - other physical hosts. - </tp:docstring> - </property> - - <property name="Ttl" type="y" access="read"> - <tp:docstring> - The value to use in the IP TTL field for VXLAN packets sent to - other physical hosts. - </tp:docstring> - </property> - - <property name="Learning" type="b" access="read"> - <tp:docstring> - True if the VXLAN dynamically learns remote IP addresses. - </tp:docstring> - </property> - - <property name="Ageing" type="u" access="read"> - <tp:docstring> - The interval at which the kernel purges stale cached addresses - (in kernel jiffies, ie, centiseconds). - </tp:docstring> - </property> - - <property name="Limit" type="u" access="read"> - <tp:docstring> - The maximum number of entries that can be added to the VXLAN's - forwarding table. - </tp:docstring> - </property> - - <property name="PortMin" type="q" access="read"> - <tp:docstring> - The lowest port number to use for outgoing VXLAN packets. - </tp:docstring> - </property> - - <property name="PortMax" type="q" access="read"> - <tp:docstring> - The highest port number to use for outgoing VXLAN packets. - </tp:docstring> - </property> - - <property name="Proxy" type="b" access="read"> - <tp:docstring> - True if the VXLAN is implementing DOVE ARP proxying for remote - clients. - </tp:docstring> - </property> - - <property name="Rsc" type="b" access="read"> - <tp:docstring> - True if the VXLAN is implementing DOVE route short-circuiting - of known remote IP addresses. - </tp:docstring> - </property> - - <property name="L2miss" type="b" access="read"> - <tp:docstring> - True if the VXLAN will emit netlink notifications of L2 switch - misses. - </tp:docstring> - </property> - - <property name="L3miss" type="b" access="read"> - <tp:docstring> - True if the VXLAN will emit netlink notifications of L3 switch - misses. - </tp:docstring> - </property> - - <signal name="PropertiesChanged"> - <arg name="properties" type="a{sv}" tp:type="String_Variant_Map"> - <tp:docstring> - A dictionary mapping property names to variant boxed values - </tp:docstring> - </arg> - </signal> - - </interface> -</node> diff --git a/src/Makefile.am b/src/Makefile.am index 05286c9bb5..a3ca443af9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -93,8 +93,6 @@ nm_sources = \ devices/nm-device-veth.h \ devices/nm-device-vlan.c \ devices/nm-device-vlan.h \ - devices/nm-device-vxlan.c \ - devices/nm-device-vxlan.h \ devices/nm-device-wifi.c \ devices/nm-device-wifi.h \ \ @@ -326,7 +324,6 @@ glue_sources = \ nm-device-tun-glue.h \ nm-device-veth-glue.h \ nm-device-vlan-glue.h \ - nm-device-vxlan-glue.h \ nm-device-wifi-glue.h \ nm-dhcp4-config-glue.h \ nm-dhcp6-config-glue.h \ diff --git a/src/devices/nm-device-vxlan.c b/src/devices/nm-device-vxlan.c deleted file mode 100644 index 8bf5528c22..0000000000 --- a/src/devices/nm-device-vxlan.c +++ /dev/null @@ -1,350 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager -- Network link manager - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright 2013 Red Hat, Inc. - */ - -#include "config.h" - -#include <string.h> - -#include "nm-device-vxlan.h" -#include "nm-dbus-manager.h" -#include "nm-logging.h" -#include "nm-manager.h" -#include "nm-platform.h" - -#include "nm-device-vxlan-glue.h" - -G_DEFINE_TYPE (NMDeviceVxlan, nm_device_vxlan, NM_TYPE_DEVICE_GENERIC) - -#define NM_DEVICE_VXLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanPrivate)) - -typedef struct { - NMDevice *parent; - NMPlatformVxlanProperties props; -} NMDeviceVxlanPrivate; - -enum { - PROP_0, - PROP_PARENT, - PROP_ID, - PROP_GROUP, - PROP_LOCAL, - PROP_TOS, - PROP_TTL, - PROP_LEARNING, - PROP_AGEING, - PROP_LIMIT, - PROP_PORT_MIN, - PROP_PORT_MAX, - PROP_PROXY, - PROP_RSC, - PROP_L2MISS, - PROP_L3MISS, - - LAST_PROP -}; - -/**************************************************************/ - -static void -link_changed (NMDevice *device) -{ - NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (device); - GObject *object = G_OBJECT (device); - NMPlatformVxlanProperties props; - - if (!nm_platform_vxlan_get_properties (nm_device_get_ifindex (device), &props)) { - nm_log_warn (LOGD_HW, "(%s): could not read vxlan properties", - nm_device_get_iface (device)); - return; - } - - g_object_freeze_notify (object); - - if (priv->props.parent_ifindex != props.parent_ifindex) { - g_object_notify (object, NM_DEVICE_VXLAN_PARENT); - if (priv->parent) - g_object_remove_weak_pointer (G_OBJECT (priv->parent), (gpointer *) &priv->parent); - priv->parent = nm_manager_get_device_by_ifindex (nm_manager_get (), props.parent_ifindex); - if (priv->parent) - g_object_add_weak_pointer (G_OBJECT (priv->parent), (gpointer *) &priv->parent); - } - - if (priv->props.id != props.id) - g_object_notify (object, NM_DEVICE_VXLAN_ID); - if (priv->props.group != props.group) - g_object_notify (object, NM_DEVICE_VXLAN_GROUP); - if (priv->props.local != props.local) - g_object_notify (object, NM_DEVICE_VXLAN_LOCAL); - if (priv->props.tos != props.tos) - g_object_notify (object, NM_DEVICE_VXLAN_TOS); - if (priv->props.ttl != props.ttl) - g_object_notify (object, NM_DEVICE_VXLAN_TTL); - if (priv->props.learning != props.learning) - g_object_notify (object, NM_DEVICE_VXLAN_LEARNING); - if (priv->props.ageing != props.ageing) - g_object_notify (object, NM_DEVICE_VXLAN_AGEING); - if (priv->props.limit != props.limit) - g_object_notify (object, NM_DEVICE_VXLAN_LIMIT); - if (priv->props.port_min != props.port_min) - g_object_notify (object, NM_DEVICE_VXLAN_PORT_MIN); - if (priv->props.port_max != props.port_max) - g_object_notify (object, NM_DEVICE_VXLAN_PORT_MAX); - if (priv->props.proxy != props.proxy) - g_object_notify (object, NM_DEVICE_VXLAN_PROXY); - if (priv->props.rsc != props.rsc) - g_object_notify (object, NM_DEVICE_VXLAN_RSC); - if (priv->props.l2miss != props.l2miss) - g_object_notify (object, NM_DEVICE_VXLAN_L2MISS); - if (priv->props.l3miss != props.l3miss) - g_object_notify (object, NM_DEVICE_VXLAN_L3MISS); - - memcpy (&priv->props, &props, sizeof (NMPlatformVxlanProperties)); - - g_object_thaw_notify (object); -} - -/**************************************************************/ - -NMDevice * -nm_device_vxlan_new (const char *udi, - const char *iface, - const char *driver) -{ - g_return_val_if_fail (udi != NULL, NULL); - - return (NMDevice *) g_object_new (NM_TYPE_DEVICE_VXLAN, - NM_DEVICE_UDI, udi, - NM_DEVICE_IFACE, iface, - NM_DEVICE_DRIVER, driver, - NM_DEVICE_TYPE_DESC, "Vxlan", - NM_DEVICE_DEVICE_TYPE, NM_DEVICE_TYPE_GENERIC, - NULL); -} - -static void -nm_device_vxlan_init (NMDeviceVxlan *self) -{ -} - -static void -constructed (GObject *object) -{ - link_changed (NM_DEVICE (object)); - - G_OBJECT_CLASS (nm_device_vxlan_parent_class)->constructed (object); -} - -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - NMDeviceVxlanPrivate *priv = NM_DEVICE_VXLAN_GET_PRIVATE (object); - char buf[INET_ADDRSTRLEN]; - - switch (prop_id) { - case PROP_PARENT: - g_value_set_boxed (value, priv->parent ? nm_device_get_path (priv->parent) : "/"); - break; - case PROP_ID: - g_value_set_uint (value, priv->props.id); - break; - case PROP_GROUP: - g_value_set_string (value, inet_ntop (AF_INET, &priv->props.group, buf, sizeof (buf))); - break; - case PROP_LOCAL: - g_value_set_string (value, inet_ntop (AF_INET, &priv->props.local, buf, sizeof (buf))); - break; - case PROP_TOS: - g_value_set_uchar (value, priv->props.tos); - break; - case PROP_TTL: - g_value_set_uchar (value, priv->props.ttl); - break; - case PROP_LEARNING: - g_value_set_boolean (value, priv->props.learning); - break; - case PROP_AGEING: - g_value_set_uint (value, priv->props.ageing); - break; - case PROP_LIMIT: - g_value_set_uint (value, priv->props.limit); - break; - case PROP_PORT_MIN: - g_value_set_uint (value, priv->props.port_min); - break; - case PROP_PORT_MAX: - g_value_set_uint (value, priv->props.port_max); - break; - case PROP_PROXY: - g_value_set_uint (value, priv->props.proxy); - break; - case PROP_RSC: - g_value_set_boolean (value, priv->props.rsc); - break; - case PROP_L2MISS: - g_value_set_boolean (value, priv->props.l2miss); - break; - case PROP_L3MISS: - g_value_set_boolean (value, priv->props.l3miss); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -nm_device_vxlan_class_init (NMDeviceVxlanClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); - - g_type_class_add_private (klass, sizeof (NMDeviceVxlanPrivate)); - - object_class->constructed = constructed; - object_class->get_property = get_property; - - device_class->link_changed = link_changed; - - /* properties */ - g_object_class_install_property - (object_class, PROP_PARENT, - g_param_spec_boxed (NM_DEVICE_VXLAN_PARENT, - "Parent", - "Parent device", - DBUS_TYPE_G_OBJECT_PATH, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_ID, - g_param_spec_uint (NM_DEVICE_VXLAN_ID, - "Id", - "Id", - 0, G_MAXUINT32, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_GROUP, - g_param_spec_string (NM_DEVICE_VXLAN_GROUP, - "Group", - "Group", - NULL, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_LOCAL, - g_param_spec_string (NM_DEVICE_VXLAN_LOCAL, - "Local", - "Local", - NULL, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_TOS, - g_param_spec_uchar (NM_DEVICE_VXLAN_TOS, - "ToS", - "ToS", - 0, 255, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_TTL, - g_param_spec_uchar (NM_DEVICE_VXLAN_TTL, - "TTL", - "TTL", - 0, 255, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_LEARNING, - g_param_spec_boolean (NM_DEVICE_VXLAN_LEARNING, - "Learning", - "Learning", - FALSE, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_AGEING, - g_param_spec_uint (NM_DEVICE_VXLAN_AGEING, - "Ageing", - "Ageing", - 0, G_MAXUINT32, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_LIMIT, - g_param_spec_uint (NM_DEVICE_VXLAN_LIMIT, - "Limit", - "Limit", - 0, G_MAXUINT32, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_PORT_MIN, - g_param_spec_uint (NM_DEVICE_VXLAN_PORT_MIN, - "Port min", - "Port min", - 0, 65535, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_PORT_MAX, - g_param_spec_uint (NM_DEVICE_VXLAN_PORT_MAX, - "Port max", - "Port max", - 0, 65535, 0, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_PROXY, - g_param_spec_boolean (NM_DEVICE_VXLAN_PROXY, - "Proxy", - "Proxy", - FALSE, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_RSC, - g_param_spec_boolean (NM_DEVICE_VXLAN_RSC, - "RSC", - "RSC", - FALSE, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_L2MISS, - g_param_spec_boolean (NM_DEVICE_VXLAN_L2MISS, - "L2miss", - "L2miss", - FALSE, - G_PARAM_READABLE)); - - g_object_class_install_property - (object_class, PROP_L3MISS, - g_param_spec_boolean (NM_DEVICE_VXLAN_L3MISS, - "L3miss", - "L3miss", - FALSE, - G_PARAM_READABLE)); - - nm_dbus_manager_register_exported_type (nm_dbus_manager_get (), - G_TYPE_FROM_CLASS (klass), - &dbus_glib_nm_device_vxlan_object_info); -} diff --git a/src/devices/nm-device-vxlan.h b/src/devices/nm-device-vxlan.h deleted file mode 100644 index 734ca07c1c..0000000000 --- a/src/devices/nm-device-vxlan.h +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager -- Network link manager - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright 2013 Red Hat, Inc. - */ - -#ifndef NM_DEVICE_VXLAN_H -#define NM_DEVICE_VXLAN_H - -#include <glib-object.h> - -#include "nm-device-generic.h" - -G_BEGIN_DECLS - -#define NM_TYPE_DEVICE_VXLAN (nm_device_vxlan_get_type ()) -#define NM_DEVICE_VXLAN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlan)) -#define NM_DEVICE_VXLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanClass)) -#define NM_IS_DEVICE_VXLAN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_DEVICE_VXLAN)) -#define NM_IS_DEVICE_VXLAN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_DEVICE_VXLAN)) -#define NM_DEVICE_VXLAN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_VXLAN, NMDeviceVxlanClass)) - -#define NM_DEVICE_VXLAN_PARENT "parent" -#define NM_DEVICE_VXLAN_ID "id" -#define NM_DEVICE_VXLAN_GROUP "group" -#define NM_DEVICE_VXLAN_LOCAL "local" -#define NM_DEVICE_VXLAN_TOS "tos" -#define NM_DEVICE_VXLAN_TTL "ttl" -#define NM_DEVICE_VXLAN_LEARNING "learning" -#define NM_DEVICE_VXLAN_AGEING "ageing" -#define NM_DEVICE_VXLAN_LIMIT "limit" -#define NM_DEVICE_VXLAN_PORT_MIN "port_min" -#define NM_DEVICE_VXLAN_PORT_MAX "port_max" -#define NM_DEVICE_VXLAN_PROXY "proxy" -#define NM_DEVICE_VXLAN_RSC "rsc" -#define NM_DEVICE_VXLAN_L2MISS "l2miss" -#define NM_DEVICE_VXLAN_L3MISS "l3miss" - -typedef struct { - NMDeviceGeneric parent; -} NMDeviceVxlan; - -typedef struct { - NMDeviceGenericClass parent; - -} NMDeviceVxlanClass; - -GType nm_device_vxlan_get_type (void); - -NMDevice *nm_device_vxlan_new (const char *udi, - const char *iface, - const char *driver); - -G_END_DECLS - -#endif /* NM_DEVICE_VXLAN_H */ diff --git a/src/nm-manager.c b/src/nm-manager.c index 6cdd56f25a..0bef71540e 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -55,7 +55,6 @@ #include "nm-device-veth.h" #include "nm-device-tun.h" #include "nm-device-macvlan.h" -#include "nm-device-vxlan.h" #include "nm-device-gre.h" #include "nm-system.h" #include "nm-setting-bluetooth.h" @@ -2304,9 +2303,6 @@ udev_device_added_cb (NMUdevManager *udev_mgr, case NM_LINK_TYPE_MACVTAP: device = nm_device_macvlan_new (sysfs_path, iface, driver); break; - case NM_LINK_TYPE_VXLAN: - device = nm_device_vxlan_new (sysfs_path, iface, driver); - break; case NM_LINK_TYPE_GRE: case NM_LINK_TYPE_GRETAP: device = nm_device_gre_new (sysfs_path, iface, driver); diff --git a/src/platform/nm-fake-platform.c b/src/platform/nm-fake-platform.c index e67a021710..3a5722b166 100644 --- a/src/platform/nm-fake-platform.c +++ b/src/platform/nm-fake-platform.c @@ -577,12 +577,6 @@ macvlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformMacvlanProp } static gboolean -vxlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformVxlanProperties *props) -{ - return FALSE; -} - -static gboolean gre_get_properties (NMPlatform *platform, int ifindex, NMPlatformGreProperties *props) { return FALSE; @@ -1048,7 +1042,6 @@ nm_fake_platform_class_init (NMFakePlatformClass *klass) platform_class->veth_get_properties = veth_get_properties; platform_class->tun_get_properties = tun_get_properties; platform_class->macvlan_get_properties = macvlan_get_properties; - platform_class->vxlan_get_properties = vxlan_get_properties; platform_class->gre_get_properties = gre_get_properties; platform_class->ip4_address_get_all = ip4_address_get_all; diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index ee2afde7f7..91d8a3a2ba 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -373,8 +373,6 @@ type_to_string (NMLinkType type) return "veth"; case NM_LINK_TYPE_VLAN: return "vlan"; - case NM_LINK_TYPE_VXLAN: - return "vxlan"; case NM_LINK_TYPE_BRIDGE: return "bridge"; case NM_LINK_TYPE_BOND: @@ -448,8 +446,6 @@ link_extract_type (struct rtnl_link *rtnllink, const char **out_name) return_type (NM_LINK_TYPE_VETH, "veth"); else if (!strcmp (type, "vlan")) return_type (NM_LINK_TYPE_VLAN, "vlan"); - else if (!strcmp (type, "vxlan")) - return_type (NM_LINK_TYPE_VXLAN, "vxlan"); else if (!strcmp (type, "bridge")) return_type (NM_LINK_TYPE_BRIDGE, "bridge"); else if (!strcmp (type, "bond")) @@ -1650,69 +1646,6 @@ macvlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformMacvlanProp return (err == 0); } -static const struct nla_policy vxlan_info_policy[IFLA_VXLAN_MAX + 1] = { - [IFLA_VXLAN_ID] = { .type = NLA_U32 }, - [IFLA_VXLAN_GROUP] = { .type = NLA_U32 }, - [IFLA_VXLAN_LINK] = { .type = NLA_U32 }, - [IFLA_VXLAN_LOCAL] = { .type = NLA_U32 }, - [IFLA_VXLAN_TOS] = { .type = NLA_U8 }, - [IFLA_VXLAN_TTL] = { .type = NLA_U8 }, - [IFLA_VXLAN_LEARNING] = { .type = NLA_U8 }, - [IFLA_VXLAN_AGEING] = { .type = NLA_U32 }, - [IFLA_VXLAN_LIMIT] = { .type = NLA_U32 }, - [IFLA_VXLAN_PORT_RANGE] = { .type = NLA_UNSPEC, .minlen = sizeof (struct ifla_vxlan_port_range), .maxlen = sizeof (struct ifla_vxlan_port_range) }, - [IFLA_VXLAN_PROXY] = { .type = NLA_U8 }, - [IFLA_VXLAN_RSC] = { .type = NLA_U8 }, - [IFLA_VXLAN_L2MISS] = { .type = NLA_U8 }, - [IFLA_VXLAN_L3MISS] = { .type = NLA_U8 }, -}; - -static int -vxlan_info_data_parser (struct nlattr *info_data, gpointer parser_data) -{ - NMPlatformVxlanProperties *props = parser_data; - struct nlattr *tb[IFLA_VXLAN_MAX + 1]; - struct ifla_vxlan_port_range *range; - int err; - - err = nla_parse_nested (tb, IFLA_VXLAN_MAX, info_data, - (struct nla_policy *) vxlan_info_policy); - if (err < 0) - return err; - - props->parent_ifindex = tb[IFLA_VXLAN_LINK] ? nla_get_u32 (tb[IFLA_VXLAN_LINK]) : 0; - props->id = nla_get_u32 (tb[IFLA_VXLAN_ID]); - props->group = tb[IFLA_VXLAN_GROUP] ? nla_get_u32 (tb[IFLA_VXLAN_GROUP]) : 0; - props->local = tb[IFLA_VXLAN_LOCAL] ? nla_get_u32 (tb[IFLA_VXLAN_LOCAL]) : 0; - props->ageing = nla_get_u32 (tb[IFLA_VXLAN_AGEING]); - props->limit = nla_get_u32 (tb[IFLA_VXLAN_LIMIT]); - props->tos = nla_get_u8 (tb[IFLA_VXLAN_TOS]); - props->ttl = nla_get_u8 (tb[IFLA_VXLAN_TTL]); - - range = nla_data (tb[IFLA_VXLAN_TTL]); - props->port_min = range->low; - props->port_max = range->high; - - props->learning = nla_get_u8 (tb[IFLA_VXLAN_LEARNING]); - props->proxy = nla_get_u8 (tb[IFLA_VXLAN_PROXY]); - props->rsc = nla_get_u8 (tb[IFLA_VXLAN_RSC]); - props->l2miss = nla_get_u8 (tb[IFLA_VXLAN_L2MISS]); - props->l3miss = nla_get_u8 (tb[IFLA_VXLAN_L3MISS]); - - return 0; -} - -static gboolean -vxlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformVxlanProperties *props) -{ - NMLinuxPlatformPrivate *priv = NM_LINUX_PLATFORM_GET_PRIVATE (platform); - int err; - - err = nm_rtnl_link_parse_info_data (priv->nlh, ifindex, - vxlan_info_data_parser, props); - return (err == 0); -} - static const struct nla_policy gre_info_policy[IFLA_GRE_MAX + 1] = { [IFLA_GRE_LINK] = { .type = NLA_U32 }, [IFLA_GRE_IFLAGS] = { .type = NLA_U16 }, @@ -2248,7 +2181,6 @@ nm_linux_platform_class_init (NMLinuxPlatformClass *klass) platform_class->veth_get_properties = veth_get_properties; platform_class->tun_get_properties = tun_get_properties; platform_class->macvlan_get_properties = macvlan_get_properties; - platform_class->vxlan_get_properties = vxlan_get_properties; platform_class->gre_get_properties = gre_get_properties; platform_class->ip4_address_get_all = ip4_address_get_all; diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index c80150239e..13c3c674c4 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -935,17 +935,6 @@ nm_platform_macvlan_get_properties (int ifindex, NMPlatformMacvlanProperties *pr } gboolean -nm_platform_vxlan_get_properties (int ifindex, NMPlatformVxlanProperties *props) -{ - reset_error (); - - g_return_val_if_fail (ifindex > 0, FALSE); - g_return_val_if_fail (props != NULL, FALSE); - - return klass->vxlan_get_properties (platform, ifindex, props); -} - -gboolean nm_platform_gre_get_properties (int ifindex, NMPlatformGreProperties *props) { reset_error (); diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h index 4b09a6ad06..26bf629889 100644 --- a/src/platform/nm-platform.h +++ b/src/platform/nm-platform.h @@ -67,7 +67,6 @@ typedef enum { NM_LINK_TYPE_TUN, NM_LINK_TYPE_VETH, NM_LINK_TYPE_VLAN, - NM_LINK_TYPE_VXLAN, /* Virtual types with slaves */ NM_LINK_TYPE_BRIDGE, @@ -139,24 +138,6 @@ typedef struct { typedef struct { int parent_ifindex; - guint32 id; - in_addr_t group; - in_addr_t local; - guint8 tos; - guint8 ttl; - gboolean learning; - guint32 ageing; - guint32 limit; - guint16 port_min; - guint16 port_max; - gboolean proxy; - gboolean rsc; - gboolean l2miss; - gboolean l3miss; -} NMPlatformVxlanProperties; - -typedef struct { - int parent_ifindex; guint16 input_flags; guint16 output_flags; guint32 input_key; @@ -252,7 +233,6 @@ typedef struct { gboolean (*veth_get_properties) (NMPlatform *, int ifindex, NMPlatformVethProperties *properties); gboolean (*tun_get_properties) (NMPlatform *, int ifindex, NMPlatformTunProperties *properties); gboolean (*macvlan_get_properties) (NMPlatform *, int ifindex, NMPlatformMacvlanProperties *props); - gboolean (*vxlan_get_properties) (NMPlatform *, int ifindex, NMPlatformVxlanProperties *props); gboolean (*gre_get_properties) (NMPlatform *, int ifindex, NMPlatformGreProperties *props); GArray * (*ip4_address_get_all) (NMPlatform *, int ifindex); @@ -365,7 +345,6 @@ gboolean nm_platform_vlan_set_egress_map (int ifindex, int from, int to); gboolean nm_platform_veth_get_properties (int ifindex, NMPlatformVethProperties *properties); gboolean nm_platform_tun_get_properties (int ifindex, NMPlatformTunProperties *properties); gboolean nm_platform_macvlan_get_properties (int ifindex, NMPlatformMacvlanProperties *props); -gboolean nm_platform_vxlan_get_properties (int ifindex, NMPlatformVxlanProperties *props); gboolean nm_platform_gre_get_properties (int ifindex, NMPlatformGreProperties *props); GArray *nm_platform_ip4_address_get_all (int ifindex); diff --git a/src/platform/tests/platform.c b/src/platform/tests/platform.c index 44ff8b7b0b..e49b7f55f6 100644 --- a/src/platform/tests/platform.c +++ b/src/platform/tests/platform.c @@ -401,48 +401,6 @@ do_macvlan_get_properties (char **argv) } static gboolean -do_vxlan_get_properties (char **argv) -{ - int ifindex = parse_ifindex (*argv++); - NMPlatformVxlanProperties props; - char addrstr[INET_ADDRSTRLEN]; - - if (!nm_platform_vxlan_get_properties (ifindex, &props)) - return FALSE; - - printf ("parent-ifindex: %u\n", props.parent_ifindex); - printf ("id: %u\n", props.id); - if (props.group) - inet_ntop (AF_INET, &props.group, addrstr, sizeof (addrstr)); - else - strcpy (addrstr, "-"); - printf ("group: %s\n", addrstr); - if (props.local) - inet_ntop (AF_INET, &props.local, addrstr, sizeof (addrstr)); - else - strcpy (addrstr, "-"); - printf ("local: %s\n", addrstr); - printf ("tos: %u\n", props.tos); - printf ("ttl: %u\n", props.ttl); - printf ("learning: "); - print_boolean (props.learning); - printf ("ageing: %u\n", props.ageing); - printf ("limit: %u\n", props.limit); - printf ("port-min: %u\n", props.port_min); - printf ("port-max: %u\n", props.port_max); - printf ("proxy: "); - print_boolean (props.proxy); - printf ("rsc: "); - print_boolean (props.rsc); - printf ("l2miss: "); - print_boolean (props.l2miss); - printf ("l3miss: "); - print_boolean (props.l3miss); - - return TRUE; -} - -static gboolean do_gre_get_properties (char **argv) { int ifindex = parse_ifindex (*argv++); @@ -765,8 +723,6 @@ static const command_t commands[] = { "<ifname/ifindex>" }, { "macvlan-get-properties", "get macvlan properties", do_macvlan_get_properties, 1, "<ifname/ifindex>" }, - { "vxlan-get-properties", "get vxlan properties", do_vxlan_get_properties, 1, - "<ifname/ifindex>" }, { "gre-get-properties", "get gre properties", do_gre_get_properties, 1, "<ifname/ifindex>" }, { "ip4-address-get-all", "print all IPv4 addresses", do_ip4_address_get_all, 1, "<ifname/ifindex>" }, |