summaryrefslogtreecommitdiffstats
path: root/build-data
AgeCommit message (Expand)AuthorFilesLines
2017-03-27Python API: Fixup of debian package after cFFI changes.Ole Troan1-4/+0
2017-03-10Retire vpp_liteDamjan Marion2-55/+0
2017-02-07Multiple platofrm support for dpdk/Makefile, fix optimizationsDamjan Marion3-51/+0
2017-01-31Prep work for Coverity upload processing via JenkinsDave Barach1-0/+6
2017-01-27dpdk: rework cryptodev ipsec build and setupSergio Gonzalez Monroy3-6/+6
2017-01-20Add dpdk development packagingDamjan Marion3-8/+5
2017-01-16Add --without-libssl configure parameterDamjan Marion4-10/+10
2017-01-13vppctl: new bash completion for vppctl commandsPadraig Connolly1-0/+8
2017-01-10Added a sub-case to take into Thunderx platformMarco1-0/+7
2017-01-10Revert "vppctl: bash completion for vppctl commands"Damjan Marion1-8/+0
2017-01-09vppctl: bash completion for vppctl commandsPadraig Connolly1-0/+8
2017-01-03Do not require external vppapigen when not cross-compilingDamjan Marion1-1/+1
2017-01-01Move java,lua api and remaining plugins to src/Damjan Marion6-100/+16
2016-12-28Reorganize source tree to use single autotools instanceDamjan Marion22-332/+23
2016-12-26dpdk: Add support for Mellanox ConnectX-4 devicesDamjan Marion4-0/+12
2016-12-09Add make test code coverage reporting using gcovJuraj Sloboda1-0/+5
2016-12-06Add "vpp-api-install" to plugins_configure_depend in build-data/packages/plug...Andrew Yourtchenko1-1/+2
2016-12-02API: Packaging of JSON files.Ole Troan2-3/+13
2016-11-30Enabling AES-GCM-128 with 16B ICV supportRadu Nicolau1-0/+4
2016-11-30Start spliting vpe.api into logically related piecesDave Barach1-0/+23
2016-11-28dpdk: add ipsec cryptodev supportSergio Gonzalez Monroy4-0/+11
2016-11-12Add clang to 'make verify'Damjan Marion1-0/+5
2016-11-04VPP-498: Prepare vpp RPM packaging for use by downstream distros.Thomas F Herbert1-1/+5
2016-10-29Initial deb packaging of vpp-python-apiEd Warnicke1-0/+4
2016-10-11VPP-474 Revert "FIX sysctl configuration directory"Miroslav Miklus1-1/+1
2016-10-10HONEYCOMB-228 Snat plugin jvpp supportMarek Gradzki1-1/+2
2016-09-27FIX sysctl configuration directoryMiroslav Miklus1-1/+1
2016-08-29VPP-310 Mapping algorithm compute wrong ea-bitsOle Troan1-0/+3
2016-08-25VPP Python language binding - plugin supportOle Troan1-8/+10
2016-08-16Create python package for jvpp generation.Ed Warnicke1-2/+8
2016-08-12VPP: NXP dpaa2 platform porting to dpdk-16.07Sachin1-7/+7
2016-07-21VPP-123: remove japi (the old Java API)Marek Gradzki1-1/+1
2016-07-13Add plugins debian packagingDamjan Marion2-1/+6
2016-07-08Multiple changes in the plugin build infraDamjan Marion1-3/+1
2016-07-06Retire PLATFORM=virlDamjan Marion1-42/+0
2016-07-01Simple ip4 NAT pluginDave Barach1-0/+4
2016-06-28Fix native build on non x86_64 systemsDamjan Marion2-0/+11
2016-06-27Plugins: Clean up the plugin directory so that each plugin has its ownOle Troan5-10/+10
2016-06-22Fix for build failure due to iOAM plugin header file pathShwetha1-0/+5
2016-06-19Improving cross_ldflags arguments for dpaa2 platformSachin1-1/+2
2016-06-18Enhanced RPM build process to make rpm for any given platformSachin1-1/+2
2016-06-17NXP DPAA2 Poll Mode Driver Support in DPDKSachin1-4/+6
2016-06-156rd: Move to pluginOle Troan1-0/+38
2016-06-10NXP dpaa2 platform initial supportSachin Saxena1-0/+63
2016-06-05VPP-94: Add build-data directory for plugins and Makefile targetPierre Pfister1-47/+0
2016-05-27Fix dpdk march/mtune defaultsDamjan Marion1-1/+1
2016-05-20VPP-79: fix cross-compilation build breakDave Barach1-3/+3
2016-05-19Add support for multiple microarchitectures in single binaryDamjan Marion3-4/+15
2016-05-17dpdk/Makefile - Allow dpdk target to be set according to the platformChristophe Fontaine2-3/+21
2016-04-28VPP-8: Set java-8 for JNIMarek Gradzki1-1/+1
"n">fmt, &va); va_end (va); } static u8 is_num_only (vat_json_node_t * p) { vat_json_node_t *elem; vec_foreach (elem, p) { if (VAT_JSON_INT != elem->type && VAT_JSON_UINT != elem->type) { return 0; } } return 1; } static void vat_json_print_internal (vat_print_ctx_t * ctx, vat_json_node_t * node) { #define P(fmt,...) fformat(ctx->ofp, fmt, ##__VA_ARGS__) #define PL(fmt,...) fformat(ctx->ofp, fmt"\n", ##__VA_ARGS__) #define PPL(fmt,...) vat_json_indent_line(ctx, fmt"\n", ##__VA_ARGS__) #define PP(fmt,...) vat_json_indent_line(ctx, fmt, ##__VA_ARGS__) #define INCR (ctx->indent++) #define DECR (ctx->indent--) vat_json_pair_t *pair; u32 i, count; vat_json_node_t *elem; u8 num_only = 0; if (!node) { return; } switch (node->type) { case VAT_JSON_OBJECT: count = vec_len (node->pairs); if (count >= 1) { PL ("{"); INCR; for (i = 0; i < count; i++) { pair = &node->pairs[i]; PP ("\"%s\": ", pair->name); vat_json_print_internal (ctx, &pair->value); if (i < count - 1) { P (","); } PL (); } DECR; PP ("}"); } else { P ("{}"); } break; case VAT_JSON_ARRAY: num_only = is_num_only (node->array); count = vec_len (node->array); if (count >= 1) { if (num_only) P ("["); else PL ("[ "); INCR; for (i = 0; i < count; i++) { elem = &node->array[i]; if (!num_only) { vat_json_indent_print (ctx); } vat_json_print_internal (ctx, elem); if (i < count - 1) { if (num_only) { P (", "); } else { P (","); } } if (!num_only) PL (); } DECR; if (!num_only) PP ("]"); else P ("]"); } else { P ("[]"); } break; case VAT_JSON_INT: P ("%d", node->sint); break; case VAT_JSON_UINT: P ("%" PRIu64, node->uint); break; case VAT_JSON_REAL: P ("%f", node->real); break; case VAT_JSON_STRING: P ("\"%s\"", node->string); break; case VAT_JSON_IPV4: P ("\"%U\"", vat_json_format_ip4_address, &node->ip4); break; case VAT_JSON_IPV6: P ("\"%U\"", vat_json_format_ip6_address, &node->ip6); break; default: break; } #undef PPL #undef PP #undef PL #undef P } void vat_json_print (FILE * ofp, vat_json_node_t * node) { vat_print_ctx_t ctx; clib_memset (&ctx, 0, sizeof ctx); ctx.indent = 0; ctx.ofp = ofp; fformat (ofp, "\n"); vat_json_print_internal (&ctx, node); fformat (ofp, "\n"); } void vat_json_free (vat_json_node_t * node) { int i = 0; if (NULL == node) { return; } switch (node->type) { case VAT_JSON_OBJECT: for (i = 0; i < vec_len (node->pairs); i++) { vat_json_free (&node->pairs[i].value); } if (NULL != node->pairs) { vec_free (node->pairs); } break; case VAT_JSON_ARRAY: for (i = 0; i < vec_len (node->array); i++) { vat_json_free (&node->array[i]); } if (NULL != node->array) { vec_free (node->array); } break; case VAT_JSON_STRING: if (NULL != node->string) { vec_free (node->string); } break; default: break; } } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */