bpf_trace_filter: allow use whithout classifier
Change-Id: I7ac5693ca547fe7249e7b6297bade70a6052b169
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
diff --git a/src/plugins/bpf_trace_filter/bpf_trace_filter.c b/src/plugins/bpf_trace_filter/bpf_trace_filter.c
index ff08d2c..01d5b1e 100644
--- a/src/plugins/bpf_trace_filter/bpf_trace_filter.c
+++ b/src/plugins/bpf_trace_filter/bpf_trace_filter.c
@@ -64,9 +64,9 @@
struct pcap_pkthdr phdr = { 0 };
int res;
int res1;
- res1 = vnet_is_packet_traced (b, classify_table_index, 0);
- if (res1 != 1)
+ if (classify_table_index != ~0 &&
+ (res1 = vnet_is_packet_traced (b, classify_table_index, 0)) != 1)
return res1;
if (!bfm->prog_set)
diff --git a/src/vlib/trace.c b/src/vlib/trace.c
index 96da497..1535557 100644
--- a/src/vlib/trace.c
+++ b/src/vlib/trace.c
@@ -463,13 +463,6 @@
goto done;
}
- u32 filter_table = classify_get_trace_chain ();
- if (filter && filter_table == ~0)
- {
- error = clib_error_create ("No packet trace filter configured...");
- goto done;
- }
-
trace_update_capture_options (add, node_index, filter, verbose);
done:
diff --git a/src/vnet/classify/trace_classify.h b/src/vnet/classify/trace_classify.h
index fea4dde..0342121 100644
--- a/src/vnet/classify/trace_classify.h
+++ b/src/vnet/classify/trace_classify.h
@@ -45,6 +45,9 @@
if (func != 0)
return -1;
+ if (classify_table_index == ~0)
+ return -1;
+
/* This will happen... */
if (pool_is_free_index (vcm->tables, classify_table_index))
return -1;