Signed-off-by: Saurav Babu <saurav.babu@xxxxxxxxxxx> --- wpa_supplicant/dbus/dbus_new.c | 9 +++++++++ wpa_supplicant/dbus/dbus_new_handlers.c | 28 ++++++++++++++++++++++++++++ wpa_supplicant/dbus/dbus_new_handlers.h | 3 +++ 3 files changed, 40 insertions(+) diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c index a601182..7721b59 100644 --- a/wpa_supplicant/dbus/dbus_new.c +++ b/wpa_supplicant/dbus/dbus_new.c @@ -3114,6 +3114,15 @@ static const struct wpa_dbus_method_desc wpas_dbus_interface_methods[] = { } }, #endif /* CONFIG_NO_CONFIG_WRITE */ +#ifdef CONFIG_MESH + { "MeshInterfaceAdd", WPAS_DBUS_NEW_IFACE_INTERFACE, + (WPADBusMethodHandler) wpas_dbus_handler_mesh_interface_add, + { + { "ifname", "s", ARG_IN }, + END_ARGS + } + }, +#endif /* CONFIG_MESH */ { NULL, NULL, NULL, { END_ARGS } } }; diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c index 7446f8d..85a5001 100644 --- a/wpa_supplicant/dbus/dbus_new_handlers.c +++ b/wpa_supplicant/dbus/dbus_new_handlers.c @@ -28,6 +28,7 @@ #include "dbus_dict_helpers.h" #include "dbus_common_i.h" #include "drivers/driver.h" +#include "../mesh.h" static const char * const debug_strings[] = { "excessive", "msgdump", "debug", "info", "warning", "error", NULL @@ -2098,6 +2099,33 @@ DBusMessage * wpas_dbus_handler_autoscan(DBusMessage *message, #endif /* CONFIG_AUTOSCAN */ +#ifdef CONFIG_MESH +/** + * wpas_dbus_handler_mesh_interface_add - Add Mesh Interface + * @message: Pointer to incoming dbus message + * @wpa_s: wpa_supplicant structure for a network interface + * Returns: NULL + * + * Handler function for "MeshInterfaceAdd" method call of network interface. + */ +DBusMessage * wpas_dbus_handler_mesh_interface_add(DBusMessage *message, + struct wpa_supplicant *wpa_s) +{ + DBusMessage *reply = NULL; + char *ifname; + + dbus_message_get_args(message, NULL, DBUS_TYPE_STRING, &ifname, + DBUS_TYPE_INVALID); + + if (wpas_mesh_add_interface(wpa_s, ifname, sizeof(ifname)) < 0) + reply = dbus_message_new_error(message, + DBUS_ERROR_INVALID_ARGS, + NULL); + + return reply; +} +#endif /* CONFIG_MESH */ + /* * wpas_dbus_handler_eap_logoff - IEEE 802.1X EAPOL state machine logoff * @message: Pointer to incoming dbus message diff --git a/wpa_supplicant/dbus/dbus_new_handlers.h b/wpa_supplicant/dbus/dbus_new_handlers.h index fe8767a..1bd46f9 100644 --- a/wpa_supplicant/dbus/dbus_new_handlers.h +++ b/wpa_supplicant/dbus/dbus_new_handlers.h @@ -233,4 +233,7 @@ DBusMessage * wpas_dbus_handler_subscribe_preq( DBusMessage * wpas_dbus_handler_unsubscribe_preq( DBusMessage *message, struct wpa_supplicant *wpa_s); +DBusMessage * wpas_dbus_handler_mesh_interface_add(DBusMessage *message, + struct wpa_supplicant *wpa_s); + #endif /* CTRL_IFACE_DBUS_HANDLERS_NEW_H */ -- 1.9.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap