aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/vnet/classify/vnet_classify.c15
-rw-r--r--test/test_vlib.py4
2 files changed, 10 insertions, 9 deletions
diff --git a/src/vnet/classify/vnet_classify.c b/src/vnet/classify/vnet_classify.c
index de11a107ef0..b02a5dc6e5e 100755
--- a/src/vnet/classify/vnet_classify.c
+++ b/src/vnet/classify/vnet_classify.c
@@ -1697,6 +1697,7 @@ classify_filter_command_fn (vlib_main_t * vm,
int current_data_offset = 0;
u32 sw_if_index = ~0;
int pkt_trace = 0;
+ int pcap = 0;
int i;
vnet_classify_table_t *t;
u8 *mask = 0;
@@ -1709,13 +1710,16 @@ classify_filter_command_fn (vlib_main_t * vm,
{
if (unformat (input, "del"))
is_add = 0;
- else if (unformat (input, "pcap %=", &sw_if_index, 0))
- ;
+ else if (unformat (input, "pcap %=", &pcap, 1))
+ sw_if_index = 0;
else if (unformat (input, "trace"))
pkt_trace = 1;
else if (unformat (input, "%U",
unformat_vnet_sw_interface, vnm, &sw_if_index))
- ;
+ {
+ if (sw_if_index == 0)
+ return clib_error_return (0, "Local interface not supported...");
+ }
else if (unformat (input, "buckets %d", &nbuckets))
;
else if (unformat (input, "mask %U", unformat_classify_mask,
@@ -1728,9 +1732,6 @@ classify_filter_command_fn (vlib_main_t * vm,
break;
}
- if (sw_if_index == 0)
- return clib_error_return (0, "Local interface not supported...");
-
if (is_add && mask == 0 && table_index == ~0)
return clib_error_return (0, "Mask required");
@@ -1740,7 +1741,7 @@ classify_filter_command_fn (vlib_main_t * vm,
if (is_add && match == ~0 && table_index == ~0)
return clib_error_return (0, "match count required");
- if (sw_if_index == ~0 && pkt_trace == 0)
+ if (sw_if_index == ~0 && pkt_trace == 0 && pcap == 0)
return clib_error_return (0, "Must specify trace, pcap or interface...");
if (pkt_trace && sw_if_index != ~0)
diff --git a/test/test_vlib.py b/test/test_vlib.py
index eedfb2fff89..33dc602cf2a 100644
--- a/test/test_vlib.py
+++ b/test/test_vlib.py
@@ -170,8 +170,8 @@ class TestVlib(VppTestCase):
""" Vlib format.c Code Coverage Test """
cmds = ["loopback create",
- "classify filter pcap mask l2 proto ipv6 match l2 proto 86dd",
- "classify filter del",
+ "classify filter pcap mask l2 proto match l2 proto 0x86dd",
+ "classify filter pcap del",
"test format-vlib",
]