All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Enable Netdev XDP tutorial for Ubuntu 17.04
@ 2017-04-11  3:35 Jay Vosburgh
  2017-04-11 20:01 ` Andy Gospodarek
  2017-04-12 11:51 ` Johannes Berg
  0 siblings, 2 replies; 7+ messages in thread
From: Jay Vosburgh @ 2017-04-11  3:35 UTC (permalink / raw)
  To: xdp-newbies; +Cc: Jesper Dangaard Brouer, Andy Gospodarek

	This patch resolves build issues when compiling the samples on
Ubuntu 17.04 with the distro 4.10 kernel and the linux-headers package
installed.  This permits running the samples using distro packages
without needing to rebuild the kernel from source.

	Tested on a 17.04 VM using virtio_net.

Signed-off-by: Jay Vosburgh <jay.vosburgh@canonical.com>
---

	I haven't tried the patched version of this on a built from
source kernel yet, so it might break that.

 kernel/samples/bpf/Makefile                       | 18 ++++--------------
 kernel/samples/bpf/libbpf.h                       |  2 +-
 kernel/samples/bpf/xdp_ddos01_blacklist_cmdline.c |  3 +--
 3 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/kernel/samples/bpf/Makefile b/kernel/samples/bpf/Makefile
index 2aa4f73a6bba..7d77e53d6cd8 100644
--- a/kernel/samples/bpf/Makefile
+++ b/kernel/samples/bpf/Makefile
@@ -49,17 +49,7 @@ KERNEL=$(kbuilddir)
 CFLAGS := -O2 -Wall
 
 # Local copy of kernel/tools/lib/
-CFLAGS += -I./tools/lib
-#CFLAGS += -I$(KERNEL)/tools/lib
-#
-# Local copy of uapi/linux/bpf.h kept under ./tools/include
-# needed due to enum dependency in bpf_helpers.h
-CFLAGS += -I./tools/include
-CFLAGS += -I$(KERNEL)/tools/include
-#CFLAGS += -I$(KERNEL)/tools/perf
-CFLAGS += -I$(KERNEL)/usr/include
-# Strange dependency to "selftests" due to "bpf_util.h"
-#CFLAGS += -I$(KERNEL)/tools/testing/selftests/bpf/
+USER_CFLAGS := $(CFLAGS) -I./tools/lib
 
 LDFLAGS= -lelf
 
@@ -151,7 +141,7 @@ $(OBJECT_LIBBPF): %.o: %.c
 	$(CC) $(CFLAGS) -o $@ -c $<
 
 $(OBJECT_LOADBPF): bpf_load.c
-	$(CC) $(CFLAGS) -o $@ -c $<
+	$(CC) $(USER_CFLAGS) -o $@ -c $<
 
 # Compiling of eBPF restricted-C code with LLVM
 #  clang option -S generated output file with suffix .ll
@@ -168,7 +158,7 @@ $(KERN_OBJECTS): %.o: %.c
 	$(LLC) -march=bpf -filetype=obj -o $@ ${@:.o=.ll}
 
 $(TARGETS): %: %_user.c $(OBJECTS) Makefile
-	$(CC) $(CFLAGS) $(OBJECTS) $(LDFLAGS) -o $@ $<
+	$(CC) $(USER_CFLAGS) $(OBJECTS) $(LDFLAGS) -o $@ $<
 
 $(CMDLINE_TOOLS): %: %.c $(OBJECTS) Makefile $(COMMON_H)
-	$(CC) -g $(CFLAGS) $(OBJECTS) $(LDFLAGS) -o $@ $<
+	$(CC) -g $(USER_CFLAGS) $(OBJECTS) $(LDFLAGS) -o $@ $<
diff --git a/kernel/samples/bpf/libbpf.h b/kernel/samples/bpf/libbpf.h
index 1a3c7a06f4c3..b572a0517498 100644
--- a/kernel/samples/bpf/libbpf.h
+++ b/kernel/samples/bpf/libbpf.h
@@ -9,7 +9,7 @@
  * construct of -I$(KERNEL)/tools/lib/ this include find
  * tools/lib/bpf/bpf.h which defines the userspace API
  */
-#include <bpf/bpf.h>
+#include "bpf/bpf.h"
 
 struct bpf_insn;
 
diff --git a/kernel/samples/bpf/xdp_ddos01_blacklist_cmdline.c b/kernel/samples/bpf/xdp_ddos01_blacklist_cmdline.c
index 11157f94b062..5cf297ee2664 100644
--- a/kernel/samples/bpf/xdp_ddos01_blacklist_cmdline.c
+++ b/kernel/samples/bpf/xdp_ddos01_blacklist_cmdline.c
@@ -13,7 +13,6 @@ static const char *__doc__=
 #include <string.h>
 #include <unistd.h>
 #include <locale.h>
-#include <linux/bitops.h>
 
 #include <sys/resource.h>
 #include <getopt.h>
@@ -212,7 +211,7 @@ static void blacklist_print_proto(int key, __u64 count)
 	printf("\n\t\"%s\" : %llu", xdp_proto_filter_names[key], count);
 }
 
-static void blacklist_print_port(int key, u32 val, int countfds[])
+static void blacklist_print_port(int key, __u32 val, int countfds[])
 {
 	int i;
 	__u64 count;
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-04-26 15:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-11  3:35 [PATCH] Enable Netdev XDP tutorial for Ubuntu 17.04 Jay Vosburgh
2017-04-11 20:01 ` Andy Gospodarek
2017-04-11 21:58   ` Jay Vosburgh
2017-04-12 11:51 ` Johannes Berg
2017-04-21 20:58   ` Jay Vosburgh
2017-04-25  8:35     ` Jesper Dangaard Brouer
2017-04-26 14:59       ` Jesper Dangaard Brouer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.