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 @@
-
-
-
-
-
-
-
- The object path of the parent device (if the VXLAN is not
- purely internal to this host).
-
-
-
-
-
- The VXLAN Network Identifier (VNI).
-
-
-
-
-
- The IP multicast group used to communicate with other physical
- hosts on this VXLAN.
-
-
-
-
-
- The local address to use when sending VXLAN packets to other
- physical hosts.
-
-
-
-
-
- The value to use in the IP ToS field for VXLAN packets sent to
- other physical hosts.
-
-
-
-
-
- The value to use in the IP TTL field for VXLAN packets sent to
- other physical hosts.
-
-
-
-
-
- True if the VXLAN dynamically learns remote IP addresses.
-
-
-
-
-
- The interval at which the kernel purges stale cached addresses
- (in kernel jiffies, ie, centiseconds).
-
-
-
-
-
- The maximum number of entries that can be added to the VXLAN's
- forwarding table.
-
-
-
-
-
- The lowest port number to use for outgoing VXLAN packets.
-
-
-
-
-
- The highest port number to use for outgoing VXLAN packets.
-
-
-
-
-
- True if the VXLAN is implementing DOVE ARP proxying for remote
- clients.
-
-
-
-
-
- True if the VXLAN is implementing DOVE route short-circuiting
- of known remote IP addresses.
-
-
-
-
-
- True if the VXLAN will emit netlink notifications of L2 switch
- misses.
-
-
-
-
-
- True if the VXLAN will emit netlink notifications of L3 switch
- misses.
-
-
-
-
-
-
- A dictionary mapping property names to variant boxed values
-
-
-
-
-
-
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
-
-#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
-
-#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
@@ -576,12 +576,6 @@ macvlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformMacvlanProp
return FALSE;
}
-static gboolean
-vxlan_get_properties (NMPlatform *platform, int ifindex, NMPlatformVxlanProperties *props)
-{
- return FALSE;
-}
-
static gboolean
gre_get_properties (NMPlatform *platform, int ifindex, NMPlatformGreProperties *props)
{
@@ -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
@@ -934,17 +934,6 @@ nm_platform_macvlan_get_properties (int ifindex, NMPlatformMacvlanProperties *pr
return klass->macvlan_get_properties (platform, ifindex, props);
}
-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)
{
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,
@@ -137,24 +136,6 @@ typedef struct {
gboolean no_promisc;
} NMPlatformMacvlanProperties;
-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;
@@ -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
@@ -400,48 +400,6 @@ do_macvlan_get_properties (char **argv)
return TRUE;
}
-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)
{
@@ -765,8 +723,6 @@ static const command_t commands[] = {
"" },
{ "macvlan-get-properties", "get macvlan properties", do_macvlan_get_properties, 1,
"" },
- { "vxlan-get-properties", "get vxlan properties", do_vxlan_get_properties, 1,
- "" },
{ "gre-get-properties", "get gre properties", do_gre_get_properties, 1,
"" },
{ "ip4-address-get-all", "print all IPv4 addresses", do_ip4_address_get_all, 1, "" },