diff options
author | Vadim Kochan <vadim4j@gmail.com> | 2016-08-04 19:30:18 +0300 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2016-08-05 10:54:52 +0200 |
commit | c831bcda3e2638c55b286bd538415ea79f510cdb (patch) | |
tree | c1ef44e3beb40e51f30487faf81c6127ea6c77b9 | |
parent | e6b7339a68ce57244117e2470f87ff581520cfc7 (diff) |
trafgen: Allow to compile without libnl
trafgen uses libnl only to inject mac80211 frames but
it might be not needed in some embedded or switch environments.
Let's make it possible to disable this feature.
In case the `--rfraw' option is used, the user will get a panic
message.
Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
-rw-r--r-- | mac80211.c | 1 | ||||
-rw-r--r-- | mac80211.h | 14 | ||||
-rw-r--r-- | trafgen/Makefile | 21 |
3 files changed, 29 insertions, 7 deletions
@@ -24,7 +24,6 @@ #include <netlink/msg.h> #include <netlink/attr.h> -#include "die.h" #include "str.h" #include "dev.h" #include "mac80211.h" @@ -1,7 +1,21 @@ #ifndef MAC80211_H #define MAC80211_H +#include "config.h" +#include "die.h" + +#ifdef HAVE_LIBNL extern void enter_rfmon_mac80211(const char *device, char **mondev); extern void leave_rfmon_mac80211(const char *mondev); +#else +static inline void enter_rfmon_mac80211(const char *device, char **mondev) +{ + panic("No built-in libnl support!\n"); +} + +static inline void leave_rfmon_mac80211(const char *mondev) +{ +} +#endif /* HAVE_LIBNL */ #endif /* MAC80211_H */ diff --git a/trafgen/Makefile b/trafgen/Makefile index 3f78f07..876ed93 100644 --- a/trafgen/Makefile +++ b/trafgen/Makefile @@ -1,6 +1,9 @@ -trafgen-libs = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnl-3.0) \ - $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnl-genl-3.0) \ - -lm +trafgen-libs = -lm + +ifeq ($(CONFIG_LIBNL), 1) +trafgen-libs += $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnl-3.0) \ + $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --libs libnl-genl-3.0) +endif trafgen-objs = xmalloc.o \ die.o \ @@ -13,7 +16,6 @@ trafgen-objs = xmalloc.o \ str.o \ sig.o \ sock.o \ - mac80211.o \ ring_tx.o \ ring.o \ timer.o \ @@ -27,13 +29,20 @@ trafgen-objs = xmalloc.o \ trafgen_parser.tab.o \ trafgen.o +ifeq ($(CONFIG_LIBNL), 1) +trafgen-objs += mac80211.o +endif + trafgen-lex = trafgen_lexer.yy.o trafgen-yaac = trafgen_parser.tab.o +trafgen-eflags = -I.. + +ifeq ($(CONFIG_LIBNL), 1) trafgen-eflags = $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --cflags libnl-3.0) \ - $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --cflags libnl-genl-3.0) \ - -I.. + $(shell PKG_CONFIG_PATH=$(PKG_CONFIG_PATH) $(PKG_CONFIG) --cflags libnl-genl-3.0) +endif trafgen-confs = trafgen_stddef.h |