summaryrefslogtreecommitdiffstats
path: root/Makefile
AgeCommit message (Expand)AuthorFilesLines
2022-04-28build: remove mbedtls from rpm dependenciesFlorin Coras1-4/+3
2022-04-15build: c compiler version warningsDamjan Marion1-3/+3
2022-04-13build: fix rpm build nasm not foundTianyu Li1-0/+1
2022-04-08build: opensuse: remove nasm, change to clangLaszlo Kiraly1-1/+1
2022-04-06build: remove nasmDamjan Marion1-0/+1
2022-03-22build: remove clang-format-10Dave Wallace1-9/+3
2022-03-17misc: Improve go bindings genNathan Skrzypczak1-1/+1
2022-03-10build: fix centos 8 steam build install-depTianyu Li1-1/+1
2022-02-17tests: make tests less make dependentKlement Sekera1-7/+6
2022-02-07build: Make the build work on Debian 11Andrew Yourtchenko1-1/+5
2022-02-07tests: Update python packagesDave Wallace1-0/+1
2022-02-05tests: remove constant argumentKlement Sekera1-20/+20
2022-01-31tests: make VPP_BUILD_DIR to point to correct dirKlement Sekera1-1/+1
2022-01-29misc: remove mbedtls from dependenciesFlorin Coras1-1/+1
2022-01-28linux-cp: Linux Control Plane Netlink ListenerNeale Ranns1-2/+2
2021-11-30build rpm-packaging: Remove boost dependencies from VOMDave Wallace1-2/+2
2021-11-19build: (opensuse) Revert build remove opensuse build infraLaszlo Kiraly1-2/+31
2021-11-16build: upgrade to enchant-2Dave Wallace1-9/+9
2021-11-16build: Remove ubuntu-18.04 install dependenciesDave Wallace1-6/+2
2021-11-09build: install clang-format-11Dave Wallace1-6/+10
2021-11-09build: missing clang in deps for ubuntu 20.04Damjan Marion1-2/+2
2021-11-06tests docs: fix jsonschema dependencyDave Wallace1-2/+2
2021-11-02tests: update python packagesDave Wallace1-1/+2
2021-10-13docs: better docs, mv doxygen to sphinxNathan Skrzypczak1-31/+19
2021-10-05build: don't hardcode triplet, allow specifying custom lib dirDamjan Marion1-5/+0
2021-08-12build: consistent debhelper 10 supportNick Brown1-1/+1
2021-06-05build: fix centos-8 cmake missing package dependencyDave Wallace1-1/+1
2021-06-04build: fix build error after make wipeTianyu Li1-1/+1
2021-06-03build: fix install-deps on centos-8Dave Wallace1-1/+1
2021-06-03misc: bug fixes and improvements for stats Fuse fsArthur de Kerhor1-28/+0
2021-05-17build: fix the "show version" output in the centos release buildsAndrew Yourtchenko1-1/+1
2021-04-30misc: experimental configure scriptDamjan Marion1-1/+1
2021-04-27build: Makefile cleanupDamjan Marion1-10/+3
2021-04-27misc: auto-generate go bindingsVladimir Lavor1-0/+5
2021-04-12tests: support attaching to existing vppKlement Sekera1-0/+8
2021-03-25tests: introduce test-checkstyle-diffKlement Sekera1-0/+5
2021-03-24misc: fuse fs for the stats segmentArthur de Kerhor1-0/+28
2021-03-16misc: fix checkstyle on fedoraRay Kinsella1-3/+0
2021-03-05api: crchcecker ignore version < 1.0.0 and outside of src directoryOle Troan1-1/+1
2021-03-04build: add libmemif as part of build-coverity targetAndrew Yourtchenko1-0/+1
2021-02-12build: add missing virtualenv dependencies for debian-10Andrew Yourtchenko1-0/+1
2021-02-09misc: Now that VOM is deprecated remove the build dependency on boostNeale Ranns1-2/+1
2021-02-04linux-cp: Linux Interface Mirroring for Control Plane IntegrationNeale Ranns1-0/+2
2021-01-21build: deprecate debian-9 supportDave Wallace1-4/+0
2021-01-20build: add python files to ctagsJerome Tollet1-1/+1
2021-01-15build: add missing openssl-devel package for centos-8 vpp-ext-depsDave Wallace1-1/+1
2021-01-11build: Add deps for ubuntu 20.10Pim van Pelt1-0/+6
2020-12-18misc: migrate from GNU indent to clang-formatDamjan Marion1-4/+9
2020-12-16build: remove centos-7 directive from MakefileDave Wallace1-3/+0
2020-12-15api: crchcecker ignore version < 1.0.0 and outside of src directoryOle Tr�an1-1/+1
een, type, *data = 0; for (n_events_seen = 0; n_events_seen < 2;) { vlib_process_wait_for_event (vm); type = vlib_process_get_events (vm, &data); n_events_seen += vec_len (data); vlib_cli_output (vm, "%U %v: completion #%d type %d data 0x%wx", format_time_interval, "h:m:s:u", vlib_time_now (vm), node->name, i, type, data[0]); _vec_len (data) = 0; } vec_free (data); } else { uword n_events_seen, i, type; my_process_event_data_t *data; for (n_events_seen = 0; n_events_seen < 2;) { vlib_process_wait_for_event (vm); data = vlib_process_get_event_data (vm, &type); vec_foreach_index (i, data) { vlib_cli_output (vm, "%U event type %d data %U", format_time_interval, "h:m:s:u", vlib_time_now (vm), type, format_my_process_event_data, data); } n_events_seen += vec_len (data); vlib_process_put_event_data (vm, data); } } return i; } /* *INDENT-OFF* */ VLIB_REGISTER_NODE (my_proc_node,static) = { .function = my_proc, .type = VLIB_NODE_TYPE_PROCESS, .name = "my-proc", }; /* *INDENT-ON* */ static uword my_proc_input (vlib_main_t * vm, vlib_node_runtime_t * rt, vlib_frame_t * f) { static int i; if (i++ < 2) { if (0) vlib_process_signal_event (vm, my_proc_node.index, i == 1 ? MY_EVENT_TYPE1 : MY_EVENT_TYPE2, 0x12340000 + i); else { my_process_event_data_t *d; f64 dt = 5; d = vlib_process_signal_event_at_time (vm, i * dt, my_proc_node.index, i == 1 ? MY_EVENT_TYPE1 : MY_EVENT_TYPE2, 1 /* elts */ , sizeof (d[0])); d->a = i; d->b = vlib_time_now (vm); } } else vlib_node_set_state (vm, rt->node_index, VLIB_NODE_STATE_DISABLED); return 0; } /* *INDENT-OFF* */ VLIB_REGISTER_NODE (my_proc_input_node,static) = { .function = my_proc_input, .type = VLIB_NODE_TYPE_INPUT, .name = "my-proc-input", }; /* *INDENT-ON* */ static uword _unformat_farith (unformat_input_t * i, va_list * args) { u32 prec = va_arg (*args, u32); f64 *result = va_arg (*args, f64 *); f64 tmp[2]; /* Binary operations in from lowest to highest precedence. */ char *binops[] = { "+%U", "-%U", "/%U", "*%U", "^%U", }; if (prec <= ARRAY_LEN (binops) - 1 && unformat_user (i, _unformat_farith, prec + 1, &tmp[0])) { int p; for (p = prec; p < ARRAY_LEN (binops); p++) { if (unformat (i, binops[p], _unformat_farith, prec + 0, &tmp[1])) { switch (binops[p][0]) { case '+': result[0] = tmp[0] + tmp[1]; break; case '-': result[0] = tmp[0] - tmp[1]; break; case '/': result[0] = tmp[0] / tmp[1]; break; case '*': result[0] = tmp[0] * tmp[1]; break; case '^': result[0] = pow (tmp[0], tmp[1]); break; default: abort (); } return 1; } } result[0] = tmp[0]; return 1; } else if (unformat (i, "-%U", _unformat_farith, prec + 0, &tmp[0])) { result[0] = -tmp[0]; return 1; } else if (unformat (i, "(%U)", _unformat_farith, 0, &tmp[0])) { result[0] = tmp[0]; return 1; } else if (unformat (i, "%f", result)) return 1; else return 0; } static uword unformat_farith (unformat_input_t * i, va_list * args) { CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *); f64 *result = va_arg (*args, f64 *); return unformat_user (i, _unformat_farith, 0, result); } static uword unformat_integer (unformat_input_t * i, va_list * args) { CLIB_UNUSED (vlib_main_t * vm) = va_arg (*args, vlib_main_t *); u32 *data = va_arg (*args, u32 *); return unformat (i, "%d", data); } static VLIB_CLI_PARSE_RULE (my_parse_rule1) = { .name = "decimal_integer",.short_help = "a decimal integer",.unformat_function = unformat_integer,.data_size = sizeof (u32),}; static VLIB_CLI_PARSE_RULE (my_parse_rule2) = { .name = "float_expression",.short_help = "floating point expression",.unformat_function = unformat_farith,.data_size = sizeof (f64),}; static clib_error_t * bar_command (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { switch (cmd->function_arg) { case 2: { u32 *d, *e; d = vlib_cli_get_parse_rule_result (vm, 0); e = vlib_cli_get_parse_rule_result (vm, 1); vlib_cli_output (vm, "bar2 %d %d", d[0], e[0]); break; } case 1: { u32 *d = vlib_cli_get_parse_rule_result (vm, 0); vlib_cli_output (vm, "bar1 %d", d[0]); break; } case 3: { f64 *d = vlib_cli_get_parse_rule_result (vm, 0); vlib_cli_output (vm, "expr %.6f", d[0]); } } return 0; } /* *INDENT-OFF* */ VLIB_CLI_COMMAND (bar_command2, static) = { .path = "bar %decimal_integer", .short_help = "bar1 command", .function = bar_command, .function_arg = 1, }; VLIB_CLI_COMMAND (bar_command1, static) = { .path = "bar %decimal_integer %decimal_integer", .short_help = "bar2 command", .function = bar_command, .function_arg = 2, }; VLIB_CLI_COMMAND (bar_command3, static) = { .path = "zap %float_expression", .short_help = "bar3 command", .function = bar_command, .function_arg = 3, }; /* *INDENT-ON* */ #endif /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */