svn commit: r243924 - in projects/bpfjit/tools/regression/bpf/bpf_filter: . tests
Jung-uk Kim
jkim at FreeBSD.org
Thu Dec 6 00:31:53 UTC 2012
Author: jkim
Date: Thu Dec 6 00:31:51 2012
New Revision: 243924
URL: http://svnweb.freebsd.org/changeset/base/243924
Log:
Convert bpf regression tests to the bpfjit APIs.
Modified:
projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile
projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c
projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h
projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h
projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h
projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h
projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/Makefile Thu Dec 6 00:31:51 2012 (r243924)
@@ -24,7 +24,7 @@ TEST_CASES?= test0001 test0002 test0003
SYSDIR?= ${.CURDIR}/../../../../sys
-SRCS= ${.CURDIR}/bpf_test.c
+SRCS= ${.CURDIR}/bpf_test.c ${SYSDIR}/net/bpf_filter.c
CFLAGS+= -g -I${SYSDIR} -I${.CURDIR}/tests
@@ -38,17 +38,17 @@ CFLAGS+= -DLOG_LEVEL="${LOG_LEVEL}"
CFLAGS+= -DBPF_VALIDATE
.endif
-.if defined(BPF_JIT) && \
- (${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386")
-SRCS+= ${SYSDIR}/net/bpf_jitter.c \
- ${SYSDIR}/${MACHINE_ARCH}/${MACHINE_ARCH}/bpf_jit_machdep.c
-CFLAGS+= -DBPF_JIT_COMPILER
-LIBS+= -lutil
-WARNS?= 6
+.if defined(BPF_JIT)
+SRCS+= ${SYSDIR}/net/bpfjit.c ${SYSDIR}/contrib/sljit/sljitLir.c
+CFLAGS+= -DBPF_JIT_COMPILER -I${SYSDIR}/contrib/sljit
+CFLAGS+= -DBPFJIT_USE_UDIV -DSLJIT_CONFIG_AUTO=1 -DSLJIT_DEBUG=0
+.if !defined(BPF_BENCHMARK) && defined(LOG_LEVEL) && (${LOG_LEVEL} > 2)
+CFLAGS+= -DSLJIT_VERBOSE=1
.else
-SRCS+= ${SYSDIR}/net/bpf_filter.c
-WARNS?= 2
+CFLAGS+= -DSLJIT_VERBOSE=0
+.endif
.endif
+WARNS?= 2
.for TEST in ${TEST_CASES}
${TEST}: ${.CURDIR}/tests/${TEST}.h ${SRCS}
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/bpf_test.c Thu Dec 6 00:31:51 2012 (r243924)
@@ -59,31 +59,28 @@ static int verbose = LOG_LEVEL;
#include <libutil.h>
-#include <net/bpf_jitter.h>
+#include <net/bpfjit.h>
static u_int
bpf_compile_and_filter(void)
{
- bpf_jit_filter *filter;
+ bpfjit_function_t filter;
u_int i, ret;
/* Compile the BPF filter program and generate native code. */
- if ((filter = bpf_jitter(pc, nins)) == NULL) {
+ filter = bpfjit_generate_code(pc, nins);
+ if (filter == NULL && invalid == 0) {
if (verbose > 1)
printf("Failed to allocate memory:\t");
if (verbose > 0)
printf("FATAL\n");
exit(FATAL);
}
- if (verbose > 2) {
- printf("\n");
- hexdump(filter->func, filter->size, NULL, HD_OMIT_CHARS);
- }
for (i = 0; i < BPF_NRUNS; i++)
- ret = (*(filter->func))(pkt, wirelen, buflen);
+ ret = filter(pkt, wirelen, buflen);
- bpf_destroy_jit_filter(filter);
+ bpfjit_free_code(filter);
return (ret);
}
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0001.h Thu Dec 6 00:31:51 2012 (r243924)
@@ -28,4 +28,8 @@ int invalid = 1;
u_int expect = 0;
/* Expected signal */
+#ifdef BPF_JIT_COMPILER
+int expect_signal = SIGSEGV;
+#else
int expect_signal = SIGABRT;
+#endif
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0075.h Thu Dec 6 00:31:51 2012 (r243924)
@@ -29,8 +29,8 @@ int invalid = 1;
u_int expect = 0xdeadc0de;
/* Expected signal */
-#ifdef __amd64__
-int expect_signal = SIGBUS;
-#else
+#ifdef BPF_JIT_COMPILER
int expect_signal = SIGSEGV;
+#else
+int expect_signal = SIGBUS;
#endif
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0076.h Thu Dec 6 00:31:51 2012 (r243924)
@@ -30,8 +30,8 @@ int invalid = 1;
u_int expect = 0xdeadc0de;
/* Expected signal */
-#ifdef __amd64__
-int expect_signal = SIGBUS;
-#else
+#ifdef BPF_JIT_COMPILER
int expect_signal = SIGSEGV;
+#else
+int expect_signal = SIGBUS;
#endif
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0077.h Thu Dec 6 00:31:51 2012 (r243924)
@@ -29,8 +29,8 @@ int invalid = 1;
u_int expect = 0xdeadc0de;
/* Expected signal */
-#ifdef __amd64__
-int expect_signal = SIGBUS;
-#else
+#ifdef BPF_JIT_COMPILER
int expect_signal = SIGSEGV;
+#else
+int expect_signal = SIGBUS;
#endif
Modified: projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h
==============================================================================
--- projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h Thu Dec 6 00:25:42 2012 (r243923)
+++ projects/bpfjit/tools/regression/bpf/bpf_filter/tests/test0078.h Thu Dec 6 00:31:51 2012 (r243924)
@@ -30,8 +30,8 @@ int invalid = 1;
u_int expect = 0xdeadc0de;
/* Expected signal */
-#ifdef __amd64__
-int expect_signal = SIGBUS;
-#else
+#ifdef BPF_JIT_COMPILER
int expect_signal = SIGSEGV;
+#else
+int expect_signal = SIGBUS;
#endif
More information about the svn-src-projects
mailing list