aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2016-08-09Rename flow_report_sample.c/.h filesJuraj Sloboda3-27/+27
2016-08-09VPP-189 - Coverity OVERRUN error in port-rangeKeith Burns (alagalah)2-579/+647
2016-08-09DPDK: adding patch to init ptype in vmxnet3, e1000 and virtio PMDsRay1-0/+70
2016-08-09VPP-189 Fix Coverity warningsDave Barach7-294/+20
2016-08-08VPP-239 Tag packets that hit LISP negative adjacenciesFlorin Coras2-75/+127
2016-08-08VPP-189 Fix new Coverity warningsFlorin Coras1-14/+38
2016-08-08VPP-189 Clean up more coverity warningsDave Barach13-45/+39
2016-08-08VPP-263 - Coding standards cleanup - vnet/vnet/mapKeith Burns (alagalah)6-3642/+5035
2016-08-08VPP-311 Coding standards cleanup for vnet/vnet/*.[ch]Dave Barach23-2642/+3185
2016-08-08Update CSIT tests 160731 -> 160807Jan1-1/+1
2016-08-08DPDK: adding patch to revert ptype change to ixgbe vpmdRay1-0/+133
2016-08-07VPP-243 - Coding style changes - updated emacs LISP styleifyKeith Burns (alagalah)1-0/+4
2016-08-07VPP-303 vnet/vnet/sr docsKeith Burns (alagalah)2-2/+60
2016-08-07VPP-244 - Coding style cleanup vnet/vnet/srKeith Burns (alagalah)4-1452/+1558
2016-08-07VPP-241: Add custom dump functions for LISPFilip Tehlar1-1/+365
2016-08-06Add DPDK definition to DOXYGENKeith Burns (alagalah)1-2/+3
2016-08-06VPP-242: Fix wrong checking of LISP Proxy-ITR modeFilip Tehlar1-1/+1
2016-08-05VPP-237 Coding standards cleanupDave Barach22-12405/+13768
2016-08-05VPP-223 Document vppinfra/bitmap.hDave Barach1-38/+210
2016-08-05vpp-189 Clean up more coverity warningsDave Barach23-64/+102
2016-08-05VPP-189 Clean up more coverity warningsDave Barach5-6/+54
2016-08-04VPP-197: LISP Source/Dest control plane supportFilip Tehlar4-93/+623
2016-08-04Update coding style for hash_foreach_memKeith Burns (alagalah)1-0/+4
2016-08-04VPP-237 vpp-api-test coding style cleanupDave Barach10-10214/+11709
2016-08-04ENIC driver patch for PKT_RX_VLAN_PKT packet flag backward compatibilityJohn Lo1-0/+42
2016-08-04LISP multihoming API changes and cleanupFlorin Coras9-161/+205
2016-08-03VPP-166 Documentation changes for ip4_forward.cKeith Burns (alagalah)1-4/+23
2016-08-03VPP-226 - adding UDP TCP to port-rangeKeith Burns (alagalah)6-409/+606
2016-08-03VPP-166 Documentation changes for ip4.h/lookup.hKeith Burns (alagalah)2-41/+47
2016-08-03VPP-180 Clean up multi-socket / multi-chunk mempool discoveryDave Barach5-9/+76
2016-08-03LISP API/VAT cleanupFlorin Coras6-408/+298
2016-08-03VPP-233: disallow array[0] in reply messagesMarek Gradzki2-4/+9
2016-08-02API support for src/dst based routing policy in LISPFilip Tehlar2-32/+22
2016-08-02VPP-229: fix NPE in JNI array handlingMarek Gradzki1-4/+4
2016-08-02Fix for broken vagrant installs when using Vagrant 1.8.5.Thomas F Herbert1-0/+1
2016-08-02VPP: Fixed dpdk-16.07 BAD checksum errorSachin1-1/+1
2016-08-01VPP-226 IPv4 src-address + port range checkerDave Barach14-84/+1561
2016-08-01Fix new LISP Coverity warningsFlorin Coras3-24/+11
2016-08-01Update CSIT test 160727 -> 160731Jan1-1/+1
2016-08-01Jvpp: add handling for mising unsigned array typesMarek Gradzki1-4/+34
2016-07-31Initial L2 LISP supportFlorin Coras18-317/+1086
2016-07-30Addition of u16[] to JVPP generatorKeith Burns (alagalah)1-0/+15
2016-07-30VPP-189: Fix another batch of coverity warningsDave Barach4-4/+4
2016-07-30Remove per-worker destination frame queueDamjan Marion3-12/+0
2016-07-29enic: fix bug introduced with scatter rxShesha Sreenivasamurthy1-0/+24
2016-07-29LISP - fix bug in ip_prefix_normalize_ip6Andrej Kozemcak1-41/+57
2016-07-29plugins/vcgn-plugin: Fix vpp hang with pthread spinlockMichael Qiu1-8/+12
2016-07-29plugin/vcgn:Remove local defined ip4_interface_first_addressMichael Qiu1-19/+1
2016-07-29VPP-142 Follow up fix for shared_count of indirect adjacenciesJohn Lo2-16/+0
2016-07-28VPP-189 More coverity bug fixesDave Barach5-9/+14
">[i]); if (kv.value != (u64) (i + 1)) clib_warning ("[%d] search for key %lld returned %lld, not %lld\n", i, tm->keys, kv.value, (u64) (i + 1)); } } delta = clib_time_now (&tm->clib_time) - before; total_searches = (uword) tm->search_iter * (uword) tm->nitems; if (delta > 0) fformat (stdout, "%.f searches per second\n", ((f64) total_searches) / delta); fformat (stdout, "%lld searches in %.6f seconds\n", total_searches, delta); fformat (stdout, "Standard E-hash search for items %d times...\n", tm->search_iter); before = clib_time_now (&tm->clib_time); for (j = 0; j < tm->search_iter; j++) { for (i = 0; i < tm->nitems; i++) { p = hash_get_mem (tm->key_hash, tm->keys[i]); if (p == 0 || p[0] != (uword) (i + 1)) clib_warning ("ugh, couldn't find %lld\n", tm->keys[i]); } } delta = clib_time_now (&tm->clib_time) - before; total_searches = (uword) tm->search_iter * (uword) tm->nitems; fformat (stdout, "%lld searches in %.6f seconds\n", total_searches, delta); if (delta > 0) fformat (stdout, "%.f searches per second\n", ((f64) total_searches) / delta); fformat (stdout, "Delete items...\n"); for (i = 0; i < tm->nitems; i++) { int j; int rv; kv.key = (u64) tm->keys[i]; kv.value = (u64) (i + 1); rv = BV (clib_bihash_add_del) (h, &kv, 0 /* is_add */ ); if (rv < 0) clib_warning ("delete key %lld not ok but should be", tm->keys[i]); if (tm->careful_delete_tests) { for (j = 0; j < tm->nitems; j++) { kv.key = (u64) tm->keys[j]; rv = BV (clib_bihash_search) (h, &kv, &kv); if (j <= i && rv >= 0) { clib_warning ("i %d j %d search ok but should not be, value %lld", i, j, kv.value); } if (j > i && rv < 0) { clib_warning ("i %d j %d search not ok but should be", i, j); } } } } fformat (stdout, "After deletions, should be empty...\n"); fformat (stdout, "%U", BV (format_bihash), h, 0 /* very verbose */ ); return 0; } clib_error_t * test_bihash_main (test_main_t * tm) { unformat_input_t *i = tm->input; clib_error_t *error; int which = 0; while (unformat_check_input (i) != UNFORMAT_END_OF_INPUT) { if (unformat (i, "seed %u", &tm->seed)) ; else if (unformat (i, "nbuckets %d", &tm->nbuckets)) ; else if (unformat (i, "non-random-keys")) tm->non_random_keys = 1; else if (unformat (i, "nitems %d", &tm->nitems)) ; else if (unformat (i, "careful %d", &tm->careful_delete_tests)) ; else if (unformat (i, "verbose %d", &tm->verbose)) ; else if (unformat (i, "search %d", &tm->search_iter)) ; else if (unformat (i, "vec64")) which = 1; else if (unformat (i, "cache")) which = 2; else if (unformat (i, "verbose")) tm->verbose = 1; else return clib_error_return (0, "unknown input '%U'", format_unformat_error, i); } switch (which) { case 0: error = test_bihash (tm); break; default: return clib_error_return (0, "no such test?"); } return error; } #ifdef CLIB_UNIX int main (int argc, char *argv[]) { unformat_input_t i; clib_error_t *error; test_main_t *tm = &test_main; clib_mem_init (0, 3ULL << 30); tm->input = &i; tm->seed = 0xdeaddabe; tm->nbuckets = 2; tm->nitems = 5; tm->verbose = 1; tm->search_iter = 1; tm->careful_delete_tests = 0; tm->key_hash = hash_create_string (0, sizeof (uword)); clib_time_init (&tm->clib_time); unformat_init_command_line (&i, argv); error = test_bihash_main (tm); unformat_free (&i); if (error) { clib_error_report (error); return 1; } return 0; } #endif /* CLIB_UNIX */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */