summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2019-09-24vlib: add flag to explicitelly mark nodes which can init per-node packet traceDamjan Marion21-0/+32
Type: feature Change-Id: I913f08383ee1c24d610c3d2aac07cef402570e2c Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-24session: avoid transport cleanup if previously deletedFlorin Coras1-2/+3
Type: fix Change-Id: I485d38c7d9473e2ad1cbd8e17a788ec8d29ab001 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-23misc: improve pcap drop trace outputDave Barach1-0/+54
Append <nodename>: <error-string> to pcap drop traces. The data displays perfectly fine in [vanilla] wireshark, and makes it 100% obvious which node dropped the packet, and why. Type: feature Ticket: VPP-1776 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I9b964b99da4011b93723354db6ef0b128fca20cb
2019-09-23misc: unify pcap rx / tx / drop traceDave Barach5-232/+161
Use a single vnet_pcap_t in vlib_global_main, specifically to support unified tracing Update sphinx docs, doxygen tags Type: refactor Ticket: VPP-1776 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id15d41a596712968c0714cef1bd2cd5bc9cbdd55
2019-09-23gbp: fix contract rule handlingBenoît Ganne7-20/+50
Fix a memory leak when removing old GBP contract rules and make sure a GBP contract rule exists when matching the corresponding ACL rule. Type: fix Fixes: 13a08cc098 Change-Id: Iba67d573e69280ad998488a7a3d3462341c68ea4 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-23tcp: fix unformat cwnd multiplierFlorin Coras1-16/+18
Type: fix Change-Id: Ife4e650cb8b16f84ca6f77ba7b1d17a0f452fc3f Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-23hsa: fix typo in vpp_echo for tx-bufMathiasRaoul1-6/+6
fix typo and allow use of Gb, Mb or Kb for tx/rx-buf sizes Type: fix Change-Id: I2cfd4c09d6b14dd5c744d942eea09ca9ddcc0f46 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-09-23nat: fix update of outside fibs (output-feature)Dmitry Vakhrushev3-4/+198
NAT hasn't worked when NAT interfaces wasn't in default VRF (fib_index = 0). This issue has been occurred with interfaces with output-feature in endpoint-dependent mode. Update VAT commands: - update nat44_add_del_address_range - add nat44_interface_add_del_output_feature Ticket: VPP-1732 Type: fix Change-Id: Iddea15dde4b948f159a0056d48c55bd917037fd1 Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>
2019-09-23interface: use the correct condition for checking if the pcap fd is openAndrew Yourtchenko4-4/+4
The 9af7e2e87e used a comparison that fd is >= 0 to check that the pcap needs closing. While the pcap_close() function does reset the file descriptor to -1, the freshly initialized structure has it equal to 0. This causes the VPP to close stdin if the packets are being seen on pg interface without the capture file being opened. This triggers the vpp attempting to read from STDIN (another bug), which results in running out of memory. Change-Id: I11d61422701500a9b3e0dd52d59383f297d57f54 Type: fix Fixes: 9af7e2e87e Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-09-23api: add missing format_vl_api_ip[46]_address_with_prefix_tJakub Grajciar1-0/+12
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Iad7067962b1dd8d3a1335f07e89a62f901e82dff
2019-09-23fib: do not dump no-longer valid adjacenciesBenoît Ganne4-3/+23
In some cases, we can refer to no-longer adjacencies (eg. in traces). Do not dump them in this case as they are probably incorrect (memory can be reused). Type: fix Change-Id: Ib653ba066bb6595ec6ec37d313a3124bce0eeed3 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-23gbp: remove loopback interfaces between testsBenoît Ganne1-0/+3
Type: fix Change-Id: I440f25b95b23b717518d101a1327ecf16d6ba39a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-23ip: fix memory leak in ip_dump handlerMatthew Smith1-0/+2
Type: fix A vector allocated by vl_api_ip_dump_t_handler() was not being freed. Change-Id: I13425b8087e60df60c6aaa1230aa7e6d60b101a8 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2019-09-20session: fix msg freeing on errorNathan Skrzypczak4-24/+7
Type: fix Change-Id: I0807f84737d5e98e69e9ed27a1de6813b2ddd138 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-20tcp: refactor congestion event handlingFlorin Coras1-40/+36
Type: refactor Minor cleanup to congestion event handling. Change-Id: I7179ff9e21c1853382ba814652c9024f3e5b8a37 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-20misc: classifier-based packet trace filterDave Barach9-8/+451
See .../src/vnet/classify/trace_classify.h for the business end of the scheme. It would be best to hash pkts, prefetch buckets, and do the primary table lookups two at a time. The inline as given works, but perf tuning will be required. "At least it works..." Add "classify filter" debug cli, for example: classify filter mask l3 ip4 src dst \ match l3 ip4 dst 192.168.2.10 src 192.168.1.10 Add "pcap rx | tx trace ... filter" to use the current classify filter chain Patch includes sphinx documentation and doxygen tags. Next step: device-driver integration Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I05b1358a769f61e6d32470e0c87058f640486b26
2019-09-20classify: remove includes from classifier header fileDamjan Marion14-10/+14
Type: refactor Change-Id: I6f0af1c3078edce1c1b29a8b99c4a232d7084d33 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-20hsa: refactor vpp_echo failure handlingDave Wallace7-97/+214
- Return unique value for each failure condition - Last failure value returned - All failures included in description - Output failure value and description Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I72d5e7f660ad4765c468874421622607af6ae3d1 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-09-20interface: fix pcap drop trace in case of vlanBenoît Ganne1-1/+12
Type: fix Change-Id: If3c4e5c376b51a26143d8922dcacfbda534163bd Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-19session: builtin app rx notifications regardless of stateFlorin Coras1-3/+5
Type: feature Provide rx notifications to builtin apps even after disconnect. Consequently tcp connections that are past FIN_WAIT_1 can still receive rx notifications. This is not currently supported for external applications. Change-Id: I529da7f7120b0e7c62c5026ac71f86d6b5196cf4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-19ikev2: add support for GCM cipherFilip Tehlar3-1/+43
Type: feature Change-Id: Ic703015b55f0ae947e5e44b10b74b3c79efe7da6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-09-19cop: API cleanupJakub Grajciar1-9/+10
Use consistent API types. Type: fix Change-Id: I6ac453c88628a4dbb08b03c408df09b91b1ea5ca Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-19api: split vl_api_prefix into twoOle Troan15-77/+273
One type for address with prefix and one type for prefix. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Icfec51d9b7d5cde1d69fbecdd97498688ab7b295 Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-18hsa: fix vpp_echo stats outputDave Wallace1-16/+37
- Output stats when there are missing timing events - Add missing timing event status to the stats output Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I10a8db6db9568b98379df544d0098f9722a44867
2019-09-18vppapigen: fix missing vla check for union classOle Troan2-52/+87
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ie775cf3469d761847ac39cf0d80a3ec6463b7928
2019-09-18stats: fix per_worker vector rate heapOle Troan1-3/+7
The per_worker counters were outside of the stats heap. Also fixes the length of the per_vector counter. A simple vector is two dimensional including a thread dimension. Fixes: f89a6de8f0 Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I370bf9cb033d264f42df2723e01b768dc270792b
2019-09-18quic : refactor function namingMathiasRaoul3-56/+51
- functions renaming to be consistent with the other plugin functions name - removing useless logs Type: style Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: Iea212a799448975e01a92f16cc329de13907ff07 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com>
2019-09-18tcp: compute snd time for rate sampleFlorin Coras3-29/+28
Type: feature Change-Id: I6bd675dc28dbc34293e895911efe986844c0564f Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-18builtinurl: initial working attemptDave Barach8-0/+666
Note that the builtin URLs are disabled by default. To activate, "builtinurl enable" or use the builtinurl_enable API. See .../extras/http/sample.md for some Hugo-friendly .md w/ embedded Javascript that accesses the builtin URLs. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I6d82d9292c41d6d2d90be73ba8a1a043fb20c986
2019-09-18vppapigen: fix tests and run on verifyPaul Vinciguerra2-26/+56
- changes vppapigen to only process an import once. Type: fix Change-Id: Ifcbcfcc69fdfb80d63195a17701762d0c239d7b4 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-17session: limit pacer bucket sizeFlorin Coras2-2/+4
Type: feature Change-Id: I3ca27b09670716eba463d7b16771f765a1bd6dcd Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-17vlib: fix cli process stack overflowAloys Augustin1-1/+1
Some cli processes, including bringing up an i40e interface with dpdk, consume more than the currently available stack space. Type: fix Fixes: VPP-1774 Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Change-Id: I86ceb9e6e07523d5e0f760b5922467f09a8d4006
2019-09-16tcp: use rate sample rtt in recovery if possibleFlorin Coras1-6/+14
If in recovery and rate samples are taken for burts that have not been retransmitted, use the rtt estimate. Type: feature Change-Id: I95028f492008457c959157aa4ee4c3435fa9c3f0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-16http_static: add dynamic GET / POST method hooksDave Barach3-178/+342
Add .json output to format_vnet_sw_interface_cntrs(...) Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ied036ebfaaafbf1dfc2a4e396c00f09f40659400
2019-09-16dpdk: initialize rte_mbuf during mempool dequeueDamjan Marion2-1/+47
In some cases it may happen that buffer is allocated by DPDK, and freed by VPP native code. In such cases dpdk metadata is not reset, so we need to do that during mempool dequeue. Template approach is taken to reduce cost of that operation. Type: fix Fixes: 910d369 Change-Id: Ic239007cfc8fbceb965021c56963cda9d53f63be Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-09-16vlib: cli support ctrl-w to erase left wordHiroki Shirokura1-0/+47
Type: fix Signed-off-by: Hiroki Shirokura <slank.dev@gmail.com> Change-Id: I3ae7dc3858d0353764d629d6a9eff2bdab5f8768
2019-09-16api: autogenerate api trace print/endianOle Troan34-395/+987
In addition to the external vppapitrace tool, VPP itself supports dumping of API trace files. In two formats, "custom-dump" and "dump". "dump" gives a human friendly list, and "custom-dump" is meant to give a list of commands that can be fed to VAT. This patch only deals with "dump". Prior to this fix, auto-generation was only done for the basic types. This fix adds support for any type, including lists, and supports pretty-printing of enums, strings, IP addresses, MAC addresses and so on. Usage: api trace dump <api-trace-file> For example Change-Id: I4e485680e6dcfce7489299ae6cf31d835071ac40 ---------- trace 48 ----------- vl_api_sw_interface_set_flags_t: _vl_msg_id: 75 client_index: 0 context: 10 sw_if_index: 1 flags: IF_STATUS_API_FLAG_ADMIN_UP ---------- trace 49 ----------- vl_api_sw_interface_add_del_address_t: _vl_msg_id: 88 client_index: 0 context: 11 sw_if_index: 1 is_add: 1 del_all: 0 prefix: 172.16.1.1/24 ---------- trace 51 ----------- vl_api_cli_inband_t: _vl_msg_id: 819 client_index: 0 context: 13 cmd: packet-generator capture pg0 pcap /tmp/vpp-unittest-TestMAP-YhcmDX/pg0_out.pcap disable ---------- trace 58 ----------- vl_api_ip_neighbor_add_del_t: _vl_msg_id: 199 client_index: 0 context: 20 is_add: 1 neighbor: sw_if_index: 2 flags: IP_API_NEIGHBOR_FLAG_NONE mac_address: 0202.0000.ff02 ip_address: fd01:2::2 Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I5556d06008de2762e7c2d35a8b0963ae670b3db1 Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2019-09-13session: add session enable option in config fileNathan Skrzypczak1-0/+2
Type: feature Change-Id: I8f02873e75c6e890f6749806d4f02547f951c8ca Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2019-09-13hsa: Fix QUIC sessions count calculationAloys Augustin1-3/+1
Type: fix Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Change-Id: Ia53a41a30920f8af7cd00c6f809b32e7cc277b7a
2019-09-12tcp: cleanup scoreboard after recoveryFlorin Coras1-0/+7
Type: fix When recovering from congestion, remove last hole in scoreboard if it covers all bytes sent above snd_congestion. Change-Id: I752accd4590cd9bf553c35a1bb40a38c308c04f5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-09-12devices: af_packet API cleanupJakub Grajciar3-24/+29
Use consistent API types. - fix af_packet_dump dumping deleted interface Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ie8d138e30c8c51a2306bb2ad9ac0b7a49d5412bf Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-09-12map: fix non-null-terminated C-stringBenoît Ganne1-3/+4
Type: fix Change-Id: Ia3a4693acd5eab234f60b37436c5b642b00bda46 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-12dpdk: fix null-termination of stringsElias Rudberg1-0/+3
Fix problem with some strings not being null-terminated, by using the vec_terminate_c_string macro in two places. The problem was found using AddressSanitizer. (Also make sure indentation is OK for those changes.) Ticket: VPP-1772 Type: fix Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net> Change-Id: Ib7826e3c322e58b649e2d7f6053786da618a5e9e
2019-09-12hsa: fix memory management bugsBenoît Ganne2-5/+9
Fix use-after-free and non-null terminated string. Type: fix Change-Id: Ibba2a6cae68c612a34477aa813b3bf27a0c8fc1f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-12quic: fix use-after-freeBenoît Ganne1-1/+6
Type: fix Change-Id: I5e5e37684e336ca992dae8ea1d39b1fb103802b1 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-11misc: bond_create is broken for custom dump printSteven Luong1-2/+2
Regression from https://gerrit.fd.io/r/#/c/vpp/+/21508/ The aformentioned patch changed lb and mode to u32. But it does not make the same change to custom_dump.c Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I2b7d065e21427090af3deb47c8a24c5da679e4f5
2019-09-11quic: fix non-null terminated hostname stringBenoît Ganne1-9/+5
Type: fix Change-Id: I089d359d5726050f32f69366547086216fdb3098 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-09-11ip: apply dual loop unrolling in ip4_inputLijian.Zhang1-0/+68
Too many prefetches within loop unrollings induce bottleneck and performance degradation on some CPUs which have less cache line fill buffers, e.g, Arm Cortex-A72. Apply dual loop unrolling and tune prefetches manually to resolve hot-spot with prefetch instructions. It saves about 11.5% cycles with ip4_input node on Cortex-A72 CPUs. Type: feature Change-Id: I1ac9eb21061a804af2a414b420217fbcda3689c9 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-09-11ip: apply dual loop unrolling in ip4_rewriteLijian.Zhang1-0/+131
Too many prefetches within loop unrollings induce bottleneck and performance degradation on some CPUs which have less cache line fill buffers, e.g, Arm Cortex-A72. Apply dual loop unrolling and tune prefetches manually to remove hot-spot with prefetch instructions, to get throughput improvement. It brings about 7% throughput improvement and saves 28% clocks with ip4_rewrite nodes on Cortex-A72 CPUs. Type: feature Change-Id: I0d35ef19faccbd7a5a4647f50bc369bfcb01a20d Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
2019-09-11dpdk: apply dual loop unrolling in DPDK TXLijian.Zhang1-0/+57
Too many prefetches within loop unrollings induce bottleneck and performance degradation on some CPUs which have less cache line fill buffers, e.g, Arm Cortex-A72. Apply dual loop unrolling and tune prefetches manually to remove hot-spot with prefetch instructions, to get throughput improvement. It brings about 1% throughput improvement and saves 8% clocks with the target node on Cortex-A72. Type: feature Change-Id: If3a64a04a77e90cd0240bc4d1186dbb09dac7df0 Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>