X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fclassify%2Fvnet_classify.c;h=bb9e52a0db33315833c4db3ff2647517975596c5;hb=196fce2b62c0d215722dd233aa8bf70a43aa0a66;hp=b02a5dc6e5e78f43bdd06d4b76f8e08b46f932f8;hpb=29c6132108be68feb11c8d9bfaaf674cba86ee33;p=vpp.git diff --git a/src/vnet/classify/vnet_classify.c b/src/vnet/classify/vnet_classify.c index b02a5dc6e5e..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"); @@ -2950,13 +2954,11 @@ vnet_classify_init (vlib_main_t * vm) vnet_classify_register_unformat_acl_next_index_fn (unformat_acl_next_node); /* Filter set 0 is grounded... */ - pool_get (cm->filter_sets, set); + pool_get_zero (cm->filter_sets, set); set->refcnt = 0x7FFFFFFF; - vec_validate (set->table_indices, 0); - set->table_indices[0] = ~0; /* Initialize the pcap filter set */ vec_validate (cm->filter_set_by_sw_if_index, 0); - cm->filter_set_by_sw_if_index[0] = ~0; + cm->filter_set_by_sw_if_index[0] = 0; /* Initialize the packet tracer filter set */ vlib_global_main.trace_filter.trace_filter_set_index = ~0;