summaryrefslogtreecommitdiffstats
path: root/build-data
AgeCommit message (Expand)AuthorFilesLines
2019-11-08build: use cmake build typesDamjan Marion2-30/+6
2019-10-22build: add missing ldflags to exe and sharedBenoît Ganne1-0/+2
2019-10-07build: add env variable to pass extra cmake argsNathan Skrzypczak1-0/+4
2019-09-23ebuild: Add MAKE_PARALLEL_FLAGS to VPP buildjuraj.linkes1-1/+1
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoît Ganne1-14/+20
2019-05-14Build packages for generic Arm architectureLijian.Zhang2-0/+9
2019-05-06gcov / test framework: sigterm not sigkillDave Barach1-3/+2
2019-03-01dpdk: update mlx[45] linking optionsMatthew Smith1-3/+3
2019-02-19VPP-1504: Remove JVPPMichal Cmarada3-46/+2
2019-02-14deb-pkg: Add libvom package supportMohsin Kazmi1-0/+4
2019-02-01Remove -z now from LDFLAGSDamjan Marion1-1/+1
2019-01-20Rework of debian packagingDamjan Marion2-83/+7
2018-12-17Added CMake building system for libmemifmsardara1-1/+38
2018-11-13japi: Move Java API binding to cmakeMohsin Kazmi1-2/+40
2018-09-27Revert "japi: Move Java API binding to cmake"Damjan Marion1-40/+2
2018-09-27dpdk_plugin: fix mlx5 build and runtime issuesSirshak Das1-0/+5
2018-09-26japi: Move Java API binding to cmakeMohsin Kazmi1-2/+40
2018-09-25Enable verbose output during VPP cmake compilingLijian Zhang1-0/+3
2018-09-21add: nasm and ipsec-mb into vpp-ext-deps packagingDamjan Marion1-2/+2
2018-09-20rename vpp-dpdk-dev to vpp-ext-depsDamjan Marion3-5/+23
2018-09-13Fix: vppapigen make build fails on fresh installPaul Vinciguerra1-2/+2
2018-09-12cmake: create cmake VPP module, update sample-plugin so it uses itDamjan Marion1-0/+26
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion2-6/+2
2018-09-10cmake VOM: j factor chosen based on number of coresNeale Ranns1-1/+2
2018-09-09cmake: Move VOM to cmakeMohsin Kazmi2-2/+40
2018-09-07post move-to-cmake cleanupDamjan Marion4-71/+0
2018-09-02Switch to cmakeDamjan Marion3-47/+0
2018-09-01cmake: pass linker flags, use devtoolset on centos 7Damjan Marion1-8/+21
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion2-0/+19
2018-08-01Move java api to extras/Damjan Marion3-2/+8
2018-07-27-DCLIB_DEBUG => turn on extra checks in dlmallocDave Barach1-1/+2
2018-07-18Add config option to use dlmalloc instead of mheapDave Barach1-1/+3
2018-06-04Enable Position Independent Executable for production VPPNeale Ranns1-1/+1
2018-05-28VPP-1284: Fix for TLS corruption on ARM platformsSachin Saxena1-2/+2
2018-05-16Fix broken compilation for non-numa aware platformsSachin Saxena2-1/+2
2018-05-12dpdk: Add build related keywords for failsafe PMDRui Cai3-0/+9
2018-05-04build-data: Common makefile for NXP DPAA1/DPAA2 platformsSachin Saxena2-66/+87
2018-04-27Move VOM to extras/vomDamjan Marion2-5/+7
2018-03-28Build libmemif as part of verify jobDamjan Marion2-0/+4
2018-03-15use system provided ccache linksDamjan Marion1-0/+1
2018-03-12License text cleanupDave Barach9-0/+114
2018-01-30VPP-899: Run VPP under SELinuxBilly McFall1-0/+4
2018-01-23VPPAPIGEN: vppapigen replacement in Python PLY.Ole Troan1-0/+4
2018-01-10makefile set CXXFLAGS so they are propageted to sub-buildsNeale Ranns1-0/+3
2018-01-08Fix Debian Packaging on AARCH64Nitin Saxena1-1/+1
2017-11-11Handle CPU flags from autotools projectDamjan Marion1-31/+13
2017-11-06Add --disable-vom config optionDave Barach1-1/+7
2017-09-01The build system still builds the DPDK plugin when the optionMarco Varlese1-0/+2
2017-08-14dpdk: cleanup unused build option *_uses_dpdk_cryptodev_swSergio Gonzalez Monroy3-9/+0
2017-07-17Fix unlinking of /dev/shm files.Dave Wallace1-1/+1
AX; ii++) { bier_disp_entry_unlock(bdt->bdt_db[ii]); } hash_unset(bier_disp_table_id_to_index, bdt->bdt_table_id); pool_put(bier_disp_table_pool, bdt); } } void bier_disp_table_lock (index_t bdti) { bier_disp_table_lock_i(bier_disp_table_get(bdti)); } void bier_disp_table_contribute_forwarding (index_t bdti, dpo_id_t *dpo) { dpo_set(dpo, DPO_BIER_DISP_TABLE, DPO_PROTO_BIER, bdti); } u8* format_bier_disp_table (u8* s, va_list *ap) { index_t bdti = va_arg(*ap, index_t); u32 indent = va_arg(*ap, u32); bier_show_flags_t flags = va_arg(*ap, bier_show_flags_t); bier_disp_table_t *bdt; bdt = bier_disp_table_get(bdti); s = format(s, "bier-disp-table:[%d]; table-id:%d locks:%d", bdti, bdt->bdt_table_id, bdt->bdt_locks); if (flags & BIER_SHOW_DETAIL) { u32 ii; for (ii = 0; ii < BIER_BP_MAX; ii++) { if (INDEX_INVALID != bdt->bdt_db[ii]) { u16 src = ii; s = format(s, "\n%Usrc:%d", format_white_space, indent+1, clib_host_to_net_u16(src)); s = format(s, "\n%U", format_bier_disp_entry, bdt->bdt_db[ii], indent+4, BIER_SHOW_BRIEF); } } } return (s); } static u8* format_bier_disp_table_dpo (u8* s, va_list *ap) { index_t bdti = va_arg(*ap, index_t); u32 indent = va_arg(*ap, u32); return (format(s, "%U", format_bier_disp_table, bdti, indent, BIER_SHOW_BRIEF)); } static void bier_disp_table_entry_insert (index_t bdti, bier_bp_t src, index_t bdei) { bier_disp_table_t *bdt; bdt = bier_disp_table_get(bdti); bdt->bdt_db[clib_host_to_net_u16(src)] = bdei; } static void bier_disp_table_entry_remove (index_t bdti, bier_bp_t src) { bier_disp_table_t *bdt; bdt = bier_disp_table_get(bdti); bdt->bdt_db[clib_host_to_net_u16(src)] = INDEX_INVALID; } static index_t bier_disp_table_lookup_hton(index_t bdti, bier_bp_t bp) { bier_hdr_src_id_t src = bp; return (bier_disp_table_lookup(bdti, clib_host_to_net_u16(src))); } void bier_disp_table_entry_path_add (u32 table_id, bier_bp_t src, bier_hdr_proto_id_t payload_proto, const fib_route_path_t *rpaths) { index_t bdti, bdei; bdti = bier_disp_table_find(table_id); if (INDEX_INVALID == bdti) { return; } bdei = bier_disp_table_lookup_hton(bdti, src); if (INDEX_INVALID == bdei) { bdei = bier_disp_entry_add_or_lock(); bier_disp_table_entry_insert(bdti, src, bdei); } bier_disp_entry_path_add(bdei, payload_proto, rpaths); } void bier_disp_table_entry_path_remove (u32 table_id, bier_bp_t src, bier_hdr_proto_id_t payload_proto, const fib_route_path_t *rpath) { index_t bdti, bdei; bdti = bier_disp_table_find(table_id); if (INDEX_INVALID == bdti) { return; } bdei = bier_disp_table_lookup_hton(bdti, src); if (INDEX_INVALID != bdei) { int remove; remove = bier_disp_entry_path_remove(bdei, payload_proto, rpath); if (remove) { bier_disp_table_entry_remove(bdti, src); bier_disp_entry_unlock(bdei); } } } void bier_disp_table_walk (u32 table_id, bier_disp_table_walk_fn_t fn, void *ctx) { const bier_disp_table_t *bdt; const bier_disp_entry_t *bde; index_t bdti; u32 ii; bdti = bier_disp_table_find(table_id); if (INDEX_INVALID != bdti) { bdt = bier_disp_table_get(bdti); for (ii = 0; ii < BIER_BP_MAX; ii++) { if (INDEX_INVALID != bdt->bdt_db[ii]) { u16 src = ii; bde = bier_disp_entry_get(bdt->bdt_db[ii]); fn(bdt, bde, clib_host_to_net_u16(src), ctx); } } } } static void bier_disp_table_dpo_lock (dpo_id_t *dpo) { bier_disp_table_lock(dpo->dpoi_index); } static void bier_disp_table_dpo_unlock (dpo_id_t *dpo) { bier_disp_table_unlock(dpo->dpoi_index); } static void bier_disp_table_dpo_mem_show (void) { fib_show_memory_usage("BIER disposition table", pool_elts(bier_disp_table_pool), pool_len(bier_disp_table_pool), sizeof(bier_disp_table_t)); } const static dpo_vft_t bier_disp_table_dpo_vft = { .dv_lock = bier_disp_table_dpo_lock, .dv_unlock = bier_disp_table_dpo_unlock, .dv_mem_show = bier_disp_table_dpo_mem_show, .dv_format = format_bier_disp_table_dpo, }; const static char *const bier_disp_table_bier_nodes[] = { "bier-disp-lookup", NULL }; const static char * const * const bier_disp_table_nodes[DPO_PROTO_NUM] = { [DPO_PROTO_BIER] = bier_disp_table_bier_nodes, }; clib_error_t * bier_disp_table_module_init (vlib_main_t *vm) { dpo_register(DPO_BIER_DISP_TABLE, &bier_disp_table_dpo_vft, bier_disp_table_nodes); bier_disp_table_id_to_index = hash_create(0, sizeof(index_t)); return (NULL); } VLIB_INIT_FUNCTION (bier_disp_table_module_init); static clib_error_t * show_bier_disp_table (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { bier_disp_table_t *bdt; index_t bdti; bdti = INDEX_INVALID; while (unformat_check_input (input) != UNFORMAT_END_OF_INPUT) { if (unformat (input, "%d", &bdti)) ; else if (unformat (input, "%d", &bdti)) ; else { break; } } if (INDEX_INVALID == bdti) { pool_foreach(bdt, bier_disp_table_pool, ({ vlib_cli_output(vm, "%U", format_bier_disp_table, bier_disp_table_get_index(bdt), 0, BIER_SHOW_BRIEF); })); } else { if (pool_is_free_index(bier_disp_table_pool, bdti)) { vlib_cli_output(vm, "No such BIER disp table: %d", bdti); } else { vlib_cli_output(vm, "%U", format_bier_disp_table, bdti, 0, BIER_SHOW_DETAIL); } } return (NULL); } VLIB_CLI_COMMAND (show_bier_disp_table_node, static) = { .path = "show bier disp table", .short_help = "show bier disp table [index]", .function = show_bier_disp_table, };