[PATCH] Allow wpa_supplicant to use libnl-2.0
Jon Loeliger
jdl
Thu Jul 2 08:02:57 PDT 2009
Introduce CONFIG_LIBNL20 .config parameter and propogate
that as a CFLAG in the Makefile.
Add forward-compatibility code to allow the existing code
to also use libnl-2.0.
Signed-off-by: Jon Loeliger <jdl at bigfootnetworks.com>
---
This patch applies to:
git://w1.fi/srv/git/hostap-06.git
fa4e296f542af01da135d997358d6d45a32dd59e
and was originally posted on the linux-wireless list.
Also, I suspect that this define:
+#define nl_handle nl_sock
may need to be added to the hostapd side as well, but
I'm not using that and haven't investigated or tested that.
jdl
src/drivers/driver_nl80211.c | 17 +++++++++++++++++
wpa_supplicant/Makefile | 4 ++++
2 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index a7b351a..66288f6 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -47,6 +47,15 @@
#endif
+#ifdef CONFIG_LIBNL20
+/* libnl 2.0 compatibility code */
+
+#define nl_handle nl_sock
+#define nl_handle_alloc_cb nl_socket_alloc_cb
+#define nl_handle_destroy nl_socket_free
+#endif /* CONFIG_LIBNL20 */
+
+
struct wpa_driver_nl80211_data {
void *ctx;
int wext_event_sock;
@@ -1441,12 +1450,20 @@ static void * wpa_driver_nl80211_init(void *ctx, const char *ifname)
goto err3;
}
+#ifdef CONFIG_LIBNL20
+ if (genl_ctrl_alloc_cache(drv->nl_handle, &drv->nl_cache) < 0) {
+ wpa_printf(MSG_ERROR, "nl80211: Failed to allocate generic "
+ "netlink cache");
+ goto err3;
+ }
+#else
drv->nl_cache = genl_ctrl_alloc_cache(drv->nl_handle);
if (drv->nl_cache == NULL) {
wpa_printf(MSG_ERROR, "nl80211: Failed to allocate generic "
"netlink cache");
goto err3;
}
+#endif
drv->nl80211 = genl_ctrl_search_by_name(drv->nl_cache, "nl80211");
if (drv->nl80211 == NULL) {
diff --git a/wpa_supplicant/Makefile b/wpa_supplicant/Makefile
index 45d6ada..fa43a0c 100644
--- a/wpa_supplicant/Makefile
+++ b/wpa_supplicant/Makefile
@@ -135,6 +135,10 @@ ifdef CONFIG_DRIVER_NL80211
CFLAGS += -DCONFIG_DRIVER_NL80211
OBJS_d += ../src/drivers/driver_nl80211.o
LIBS += -lnl
+ifdef CONFIG_LIBNL20
+LIBS += -lnl-genl
+CFLAGS += -DCONFIG_LIBNL20
+endif
ifdef CONFIG_CLIENT_MLME
OBJS_d += ../src/drivers/radiotap.o
endif
--
1.6.3.GIT
More information about the Hostap
mailing list