bpf_trace_filter: allow use whithout classifier 84/40084/2
authorMohammed Hawari <mohammed@hawari.fr>
Fri, 8 Dec 2023 10:16:54 +0000 (11:16 +0100)
committerDamjan Marion <dmarion@0xa5.net>
Thu, 14 Dec 2023 16:29:53 +0000 (16:29 +0000)
Change-Id: I7ac5693ca547fe7249e7b6297bade70a6052b169
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
src/plugins/bpf_trace_filter/bpf_trace_filter.c
src/vlib/trace.c
src/vnet/classify/trace_classify.h

index ff08d2c..01d5b1e 100644 (file)
@@ -64,9 +64,9 @@ bpf_is_packed_traced (vlib_buffer_t *b, u32 classify_table_index, int func)
   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)
index 96da497..1535557 100644 (file)
@@ -463,13 +463,6 @@ cli_add_trace_buffer (vlib_main_t * vm,
       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:
index fea4dde..0342121 100644 (file)
@@ -45,6 +45,9 @@ vnet_is_packet_traced_inline (vlib_buffer_t * b,
   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;