aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/interface.h
AgeCommit message (Expand)AuthorFilesLines
2021-12-03interface: add multi tx-queues support for new tx infraMohsin Kazmi1-2/+10
2021-11-30interface: add support for outer header checksumsMohsin Kazmi1-0/+12
2021-10-04interface: remove the input_node_thread_index_by_queueMohsin Kazmi1-3/+0
2021-09-07interface: full poll vector on adaptive modeMaxime Peim1-1/+2
2021-05-19interface: shared tx queue supportDamjan Marion1-0/+1
2021-05-11interface: tx queue infraDamjan Marion1-0/+43
2021-05-06vlib: rename vl_counter_t to vlib_error_desc_tOle Troan1-1/+1
2021-05-06memif: add severity to countersOle Troan1-0/+1
2021-04-30build: switch release build to -O3Damjan Marion1-1/+1
2021-04-22misc: add filter for specific error for pcap traceBenoît Ganne1-0/+1
2021-04-19interface: interface-output end node reworkDamjan Marion1-6/+14
2021-03-19interface: add capabilities flagsMohsin Kazmi1-9/+59
2021-03-11vlib: refactor node function variantsDamjan Marion1-2/+1
2021-03-10interface: fix interface-output and interface-tx multiarch selectionDamjan Marion1-19/+21
2021-02-05interface: RX/TX direction type in APINeale Ranns1-2/+8
2021-02-04vlib: "revert startup multi-arch variant configuration fix for interfaces"Damjan Marion1-2/+1
2021-01-26interface: remove vnet_device_input_runtime_tMohammed Hawari1-5/+0
2021-01-25vlib: startup multi-arch variant configuration fix for interfacesRadu Nicolau1-1/+2
2021-01-21interface: rx queue infra rework, part oneDamjan Marion1-0/+42
2020-11-13interface: add multiarch support for per-interface tx nodeBenoît Ganne1-3/+1
2020-11-05feature: reset interface feature arc on interface deletionBenoît Ganne1-0/+2
2020-10-08interface: shorten vnet_hw_if_rx_modeDamjan Marion1-10/+10
2020-09-09interface: support configuring RSS steering queuesChenmin Sun1-0/+12
2020-08-06misc: harmonize namesDave Barach1-1/+1
2020-08-05interface: add pcap trace data preallocationDave Barach1-0/+2
2020-05-27ethernet: fix DMAC check and skip unnecessary ones (VPP-1868)John Lo1-1/+5
2019-12-04gre: Multi-point interfacesNeale Ranns1-0/+7
2019-12-04gso: remove the interface countMohsin Kazmi1-3/+0
2019-10-09interface: callback to manage extra MAC addressesMatthew Smith1-0/+10
2019-09-26misc: add vnet classify filter set supportDave Barach1-1/+5
2019-09-23misc: unify pcap rx / tx / drop traceDave Barach1-7/+9
2019-09-20misc: classifier-based packet trace filterDave Barach1-0/+1
2019-09-10misc: clean up "pcap [rx|tx] trace" debug CLIDave Barach1-0/+12
2019-08-27interface: Remove residual dpdk bonding codeSteven Luong1-1/+1
2019-07-31vppinfra: refactor test_and_set spinlocks to use clib_spinlock_tjaszha031-4/+4
2019-07-05sctp: move to plugins, disabled by defaultFlorin Coras1-0/+13
2019-06-28interface: fixes for buliding for 32bit targetsVijayabhaskar Katamreddy1-1/+1
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-1/+11
2019-06-03ARP: add feature arcNeale Ranns1-1/+1
2019-05-31bonding: add support for numa awarenessZhiyong Yang1-0/+4
2019-04-11Stats: Spelling mistake: s/tx-unicast-miss/tx-unicast/Ole Troan1-1/+1
2019-03-13deprecate VLIB_DEVICE_TX_FUNCTION_MULTIARCHFilip Tehlar1-3/+0
2019-02-22Callback functions must have the correct signatureNeale Ranns1-2/+2
2019-02-19tap gso: experimental supportAndrew Yourtchenko1-0/+15
2019-02-02Deprecate old mutliarch code, phase 1Damjan Marion1-23/+5
2019-01-21VPP-1549 Add missing counter name.Paul Vinciguerra1-1/+2
2018-11-17pcap-based dispatch tracerDave Barach1-1/+2
2018-11-08vnet: remove unused fieldDamjan Marion1-2/+0
2018-11-08vnet: store hw interface speed in kbps instead of using flagsDamjan Marion1-27/+4
2018-10-29interface-flags; fix coverity error found in conversionNeale Ranns1-1/+2
class="p">[1]); } static void cj_dump_internal (u8 filter0_enable, u64 filter0, u8 filter1_enable, u64 filter1) { cj_main_t *cjm = &cj_main; cj_record_t *r; u32 i, index; if (cjm->num_records == 0) { fprintf (stderr, "CJ not configured...\n"); return; } if (cjm->tail == (u64) ~ 0) { fprintf (stderr, "No data collected...\n"); return; } /* Has the trace wrapped? */ index = (cjm->tail + 1) & (cjm->num_records - 1); r = &(cjm->records[index]); if (r->thread_index != (u32) ~ 0) { /* Yes, dump from tail + 1 to the end */ for (i = index; i < cjm->num_records; i++) { if (filter0_enable && (r->data[0] != filter0)) goto skip; if (filter1_enable && (r->data[1] != filter1)) goto skip; cj_dump_one_record (r); skip: r++; } } /* dump from the beginning through the final tail */ r = cjm->records; for (i = 0; i < index; i++) { if (filter0_enable && (r->data[0] != filter0)) goto skip2; if (filter1_enable && (r->data[1] != filter1)) goto skip2; cj_dump_one_record (r); skip2: r++; } } void cj_dump (void) { cj_dump_internal (0, 0, 0, 0); } void cj_dump_filter_data0 (u64 filter0) { cj_dump_internal (1 /* enable f0 */ , filter0, 0, 0); } void cj_dump_filter_data1 (u64 filter1) { cj_dump_internal (0, 0, 1 /* enable f1 */ , filter1); } void cj_dump_filter_data12 (u64 filter0, u64 filter1) { cj_dump_internal (1, filter0, 1, filter1); } static clib_error_t * cj_command_fn (vlib_main_t * vm, unformat_input_t * input, vlib_cli_command_t * cmd) { int is_enable = -1; int is_dump = -1; unformat_input_t _line_input, *line_input = &_line_input; clib_error_t *error = NULL; /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) return clib_error_return (0, "expected enable | disable | dump"); while (unformat_check_input (line_input) != UNFORMAT_END_OF_INPUT) { if (unformat (line_input, "enable") || unformat (line_input, "on")) is_enable = 1; else if (unformat (line_input, "disable") || unformat (line_input, "off")) is_enable = 0; else if (unformat (line_input, "dump")) is_dump = 1; else { error = clib_error_return (0, "unknown input `%U'", format_unformat_error, line_input); goto done; } } if (is_enable >= 0) cj_enable_disable (is_enable); if (is_dump > 0) cj_dump (); done: unformat_free (line_input); return error; } /*? * Enable, disable the collection of diagnostic data into a * circular journal or dump the circular journal diagnostic data. * This is only useful if you, the developer, have written code to make * use of the circular journal. * * When dumping the data it is formatted and sent to @c stderr of the * VPP process; when running VPP in <code>unix interactive</code> mode * this is typically the same place as the Debug CLI. ?*/ /* *INDENT-OFF* */ VLIB_CLI_COMMAND (cj_command,static) = { .path = "cj", .short_help = "cj <enable | disable | dump>", .function = cj_command_fn, }; /* *INDENT-ON* */ /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */