summaryrefslogtreecommitdiffstats
path: root/src/vcl
AgeCommit message (Expand)AuthorFilesLines
2021-01-07vcl session: switch to generic cert key apisFlorin Coras5-136/+172
2021-01-06vcl: allow all workers to block on apiFlorin Coras2-32/+53
2020-12-29svm vcl: allow random offsets for fifo segments in appsFlorin Coras1-9/+5
2020-12-29svm: allow mq attachments at random offsetsFlorin Coras5-28/+77
2020-12-24svm: split fifo into private and shared structsFlorin Coras3-73/+89
2020-12-14misc: refactor clib_bitmap_foreach macroDamjan Marion3-12/+11
2020-12-14misc: move to new pool_foreach macrosDamjan Marion3-8/+8
2020-12-11vcl: fix listener session close problemwanghanlin1-1/+1
2020-12-11vcl: fix crash problem for invalidation of vls_table_lockwanghanlin1-6/+5
2020-11-26vcl: avoid coalescing dgrams on readFlorin Coras1-2/+2
2020-11-25session: add startup option to poll in mainFlorin Coras1-0/+1
2020-11-24tests: remove bond, pipe, session and api_namespace from vpp_papi_providerJakub Grajciar1-5/+5
2020-11-19vcl: stop tracking vpp event queues and thread indexFlorin Coras5-60/+21
2020-11-10vcl: remove unused configsFlorin Coras2-20/+1
2020-11-09vcl: remove support for shm api connectionsFlorin Coras4-54/+26
2020-11-09session: default to using memfd mq segmentsFlorin Coras1-2/+2
2020-10-29vcl: support fifo segments with ct sessionsFlorin Coras1-7/+12
2020-10-29vcl session: minimize ct io eventsFlorin Coras1-4/+10
2020-10-29vcl: fix epoll fd cleanupFlorin Coras1-1/+1
2020-10-27vcl: postpone unhandled ctrl events if neededFlorin Coras2-63/+117
2020-10-26vcl: avoid epoll cleanup before app closeFlorin Coras1-69/+74
2020-10-21vcl: wait for sendto to connect if neededFlorin Coras1-8/+15
2020-10-20vcl: confirm reset on transport cleanupFlorin Coras1-3/+16
2020-10-20vcl: more session struct cleanupFlorin Coras3-104/+108
2020-10-20vcl: convert vep variables into flagsFlorin Coras4-66/+56
2020-10-19vcl: cleanup read and write readyFlorin Coras3-65/+48
2020-10-19hsa: cleanup sock server testFlorin Coras1-1/+1
2020-10-16vcl: remove accept state and rename connect to readyFlorin Coras2-15/+10
2020-10-15vcl: refactor session state enumFlorin Coras4-159/+159
2020-10-14vcl: set STATE_UPDATED state when connect with non-blocking socket!fanyf1-1/+4
2020-10-14vcl: app_name format type errorjiangxiaoming1-1/+1
2020-10-12vcl svm: segments improvementsFlorin Coras2-15/+25
2020-09-29vcl svm: provide apps access to fifo chunksFlorin Coras2-22/+21
2020-09-28vppinfra: don't call dlmalloc API directly from the codeDamjan Marion1-4/+2
2020-09-17vcl: avoid heap use for ldp debugFlorin Coras1-5/+5
2020-09-16vcl: refactor bapi client index for sapi reuseFlorin Coras4-22/+26
2020-09-14vcl: add support for app socket apiFlorin Coras7-12/+456
2020-09-14vcl: cleanup bapi and wrk registrationFlorin Coras6-361/+360
2020-09-14vcl: always fill buffer or drain rx fifoFlorin Coras1-4/+16
2020-09-02vcl: handle svm fifo write failureFlorin Coras1-1/+3
2020-08-26vcl: fix duplicated key of session_index_to_vlsh_table in multiplehanlin2-11/+28
2020-08-25vcl: cleanup non-blocking connectFlorin Coras1-2/+16
2020-08-14vcl: rx dequeue notifications with epollFlorin Coras1-52/+57
2020-08-14vcl: minimize vpp to vcl rx eventsFlorin Coras1-1/+11
2020-08-13vcl: clear ct rx event on right fifoFlorin Coras1-1/+1
2020-08-12vcl: mt detection and cleanupFlorin Coras4-67/+109
2020-08-12vcl: support multi-threads with session migrationhanlin7-25/+261
2020-08-11vcl: support inter worker rpcFlorin Coras3-30/+167
2020-08-09vcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS actionSimon Zhang1-2/+4
2020-08-04vcl: fix epoll timeoutFlorin Coras1-1/+1
ss="n">idx_cnt++; else if (unformat (input, "l2-table %d", &l2_table_index)) idx_cnt++; else if (unformat (input, "del")) is_add = 0; else break; } if (sw_if_index == ~0) return clib_error_return (0, "Interface must be specified."); if (!idx_cnt) return clib_error_return (0, "Table index should be specified."); if (idx_cnt > 1) return clib_error_return (0, "Only one table index per API is allowed."); rv = vnet_set_policer_classify_intfc(vm, sw_if_index, ip4_table_index, ip6_table_index, l2_table_index, is_add); switch (rv) { case 0: break; case VNET_API_ERROR_NO_MATCHING_INTERFACE: return clib_error_return (0, "No such interface"); case VNET_API_ERROR_NO_SUCH_ENTRY: return clib_error_return (0, "No such classifier table"); } return 0; } VLIB_CLI_COMMAND (set_policer_classify_command, static) = { .path = "set policer classify", .short_help = "set policer classify interface <int> [ip4-table <index>]\n" " [ip6-table <index>] [l2-table <index>] [del]", .function = set_policer_classify_command_fn, }; static uword unformat_table_type (unformat_input_t * input, va_list * va) { u32 * r = va_arg (*va, u32 *); u32 tid; if (unformat (input, "ip4")) tid = POLICER_CLASSIFY_TABLE_IP4; else if (unformat (input, "ip6")) tid = POLICER_CLASSIFY_TABLE_IP6; else if (unformat (input, "l2")) tid = POLICER_CLASSIFY_TABLE_L2; else return 0; *r = tid; return 1; } static clib_error_t * show_policer_classify_command_fn (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { policer_classify_main_t * pcm = &policer_classify_main; u32 type = POLICER_CLASSIFY_N_TABLES; u32 * vec_tbl; int i; if (unformat (input, "type %U", unformat_table_type, &type)) ; else return clib_error_return (0, "Type must be specified.");; if (type == POLICER_CLASSIFY_N_TABLES) return clib_error_return (0, "Invalid table type."); vec_tbl = pcm->classify_table_index_by_sw_if_index[type]; if (vec_len(vec_tbl)) vlib_cli_output (vm, "%10s%20s\t\t%s", "Intfc idx", "Classify table", "Interface name"); else vlib_cli_output (vm, "No tables configured."); for (i = 0; i < vec_len (vec_tbl); i++) { if (vec_elt(vec_tbl, i) == ~0) continue; vlib_cli_output (vm, "%10d%20d\t\t%U", i, vec_elt(vec_tbl, i), format_vnet_sw_if_index_name, pcm->vnet_main, i); } return 0; } VLIB_CLI_COMMAND (show_policer_classify_command, static) = { .path = "show classify policer", .short_help = "show classify policer type [ip4|ip6|l2]", .function = show_policer_classify_command_fn, };