aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2020-01-27 09:56:58 -0500
committerAndrew Yourtchenko <ayourtch@gmail.com>2020-08-12 15:59:46 +0000
commit5c3aab42120cdeaf5513a8344d0af0630342b1bb (patch)
treef22da31ca0e76262160bf56f03fb1e7ae58e8cf4 /src
parentb29ebcad592a0835324728e49f329e01904b6900 (diff)
classify: pcap / packet trace debug CLI bugs
"classify filter trace ... " and "classify filter pcap ..." are mutually exclusive. vnet_pcap_dispatch_trace_configure needs to check for set->table_indices == NULL. Type: fix Ticket: VPP-1827 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I43733364087ffb0a43de92e450955033431d559d (cherry picked from commit 196fce2b62c0d215722dd233aa8bf70a43aa0a66)
Diffstat (limited to 'src')
-rwxr-xr-xsrc/vnet/classify/vnet_classify.c4
-rw-r--r--src/vnet/interface_cli.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/vnet/classify/vnet_classify.c b/src/vnet/classify/vnet_classify.c
index e8103a92b72..d97042eda36 100755
--- a/src/vnet/classify/vnet_classify.c
+++ b/src/vnet/classify/vnet_classify.c
@@ -1744,6 +1744,10 @@ classify_filter_command_fn (vlib_main_t * vm,
if (sw_if_index == ~0 && pkt_trace == 0 && pcap == 0)
return clib_error_return (0, "Must specify trace, pcap or interface...");
+ if (pkt_trace && pcap)
+ return clib_error_return
+ (0, "Packet trace and pcap are mutually exclusive...");
+
if (pkt_trace && sw_if_index != ~0)
return clib_error_return (0, "Packet trace filter is per-system");
diff --git a/src/vnet/interface_cli.c b/src/vnet/interface_cli.c
index 65783b6e7d4..6c4df198548 100644
--- a/src/vnet/interface_cli.c
+++ b/src/vnet/interface_cli.c
@@ -1777,7 +1777,7 @@ vnet_pcap_dispatch_trace_configure (vnet_pcap_dispatch_trace_args_t * a)
/* Classify filter specified, but no classify filter configured */
if ((a->rx_enable + a->tx_enable + a->drop_enable) && a->filter &&
- (set->table_indices[0] == ~0))
+ (set->table_indices == 0 || set->table_indices[0] == ~0))
return VNET_API_ERROR_NO_SUCH_LABEL;
if (a->rx_enable + a->tx_enable + a->drop_enable)