aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--extras/pcapcli/setup.tracefilter4
-rwxr-xr-xsrc/vnet/classify/vnet_classify.c4
-rw-r--r--src/vnet/interface_cli.c2
3 files changed, 8 insertions, 2 deletions
diff --git a/extras/pcapcli/setup.tracefilter b/extras/pcapcli/setup.tracefilter
index e6c86298c84..db07a0e4224 100644
--- a/extras/pcapcli/setup.tracefilter
+++ b/extras/pcapcli/setup.tracefilter
@@ -17,4 +17,6 @@ packet-generator new {
}
}
-classify filter trace mask l3 ip4 src match l3 ip4 src 192.168.1.15
+comment { Pick one, uncomment, and "pcap rx ..." or "trace add pg-input ..." }
+comment { classify filter trace mask l3 ip4 src match l3 ip4 src 192.168.1.15 }
+comment { classify filter pcap mask l3 ip4 src match l3 ip4 src 192.168.1.15 }
diff --git a/src/vnet/classify/vnet_classify.c b/src/vnet/classify/vnet_classify.c
index b461463d02e..bb9e52a0db3 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 8fb315b4846..2e5714c3c0f 100644
--- a/src/vnet/interface_cli.c
+++ b/src/vnet/interface_cli.c
@@ -1954,7 +1954,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)