aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2018-08-01Improve cpu { coremask-% } configure optionYi He2-20/+40
Accept any sized hexadecimal bitmask specification to support platforms with hundreds of cores. Change-Id: Ib881db0cf60f78bdeffa13acfc2fc7fe7e128cc4 Signed-off-by: Yi He <yi.he@arm.com>
2018-08-01Move java api to extras/Damjan Marion116-10174/+2
Change-Id: Ibd5cbbdfb22a235442cddaebc9eae9a3c4e35ec9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01vxlan:optimize cached entry compareEyal Bari1-9/+5
the bihash key compare was doing the extra step of loading both keys into vector regs and comparing those - instead of using the temporary values created. Change-Id: Ic557bfa56cd6aa60c71e7f28c880f85e1eb1e6ec Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-08-01Store USE_DLMALLOC in vppinfra/config.hDamjan Marion11-13/+10
Change-Id: Ib596e7f525b83dc7e830bcf6a126cd210216ce86 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-01Add support for shuffle vector intrinsic via Neon in ARMSirshak Das1-0/+16
This adds byte_swap (variant of shuffle) and shuffle vector intrinsic for ARM based on Neon, concuring with same signature as SSE vector intrinsic. Change-Id: I386fd2b1dcc83654e4ad9f90a6065d7736e4ce5c Signed-off-by: Sirshak Das <sirshak.das@arm.com>
2018-07-31Poison freed memory objectsDave Barach1-0/+8
When compiled w/ -DCLIB_DEBUG=1, paint 0x13 across freed memory blocks. Should result in a characteristic SIGSEGV if someone dereferences a pointer in a freed vector element, etc. Change-Id: I5f78970f4342310bfbe7adeddb56feff21f0de2c Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-31vxlan:decap.c conform coding styleEyal Bari1-620/+690
Change-Id: I7bab9800c267dd6ea85288fd3d9ca88dff9f554b Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-07-31Fix undefined symbol: fformat_append_cr in vat plugins loadingYi He2-11/+11
Several test plugins report undefined symbol while being loaded by load_one_vat_plugin. Fix this by adding VPP_API_TEST_BUILTIN into CFLAGS for building these plugins. Change-Id: I908720fd0d01da1ead30ba17027ba10358f6bdf1 Signed-off-by: Yi He <yi.he@arm.com>
2018-07-31memif: socket filename fixJakub Grajciar1-11/+19
create runtime dir when adding default socket filename. Change-Id: Iad7e751fcab7ce773e0907302414a06ea44dd6cd Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-31acl-plugin: move the acl epoch calculation into inline functionAndrew Yourtchenko1-7/+15
Change-Id: Ifc8b3d30d66c7ade1e3584844ce3f82d42d2fb94 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2018-07-31fix 'sh vxlan tunnels'Neale Ranns1-15/+4
this receipe: /* Get a line of input. */ if (!unformat_user (input, unformat_line_input, line_input)) return 0; only works if there is more data following the registered command name. So it is not so good for show commands... Change-Id: I54249865a44526ade4b40e2d6207138a2d056e40 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-31vcl: add read/write udp supportFlorin Coras9-93/+149
Change-Id: Ie6171c12055cde6915856de340839f5da1b1b1da Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-30SIXRD: fix post introduction of the directed subnet broadcastNeale Ranns2-12/+4
Change-Id: I9ce801e9b257eaa6be0cbe2ad3bfe630717f8c67 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-30FIB: return entry prefix by const reference to avoid the copyNeale Ranns13-82/+64
Change-Id: I09b8406168df4b6b28df3ede24ee839681be0195 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-30Reverse the logic of flagging malformed packet in fragmentation code to ↵Rajesh Saluja1-1/+1
allow padding Change-Id: I051c137ae18fd436a798a12a56a9d12f8eaa2e08 Signed-off-by: Rajesh Saluja <rajsaluj@cisco.com>
2018-07-28session/dlmalloc: coverity fixesFlorin Coras2-2/+3
Change-Id: I17ffec018f5d2fb06a7a3af6d8bc6128ffee3ae6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-27dlmalloc: use static magic constant for debug imagesFlorin Coras2-0/+4
Avoids crashes on restarts if svm root region backing file was not cleaned up. Change-Id: I608cf5711aa8c3f9620900473bdf76bde8b918de Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-27Fix build-break when compiling -O0 / TAG=vpp_debugDave Barach1-1/+1
Without inlining [TAG=vpp_debug], gcc7 (at least) refuses to produce the indicated vector unit instruction. Change-Id: I0f0400ad74b1e498dce7963a85c47d33afe0a768 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-27vcl: use events for epoll/select/read/writeFlorin Coras22-745/+1113
Have vcl poll and wait on the event message queues as opposed to constantly polling the session fifos. This also adds event signaling to cut through sessions. On the downside, because we can't wait on multiple condvars, i.e., when we have multiple message queues because of cut-through registrations, we do timed waits. Change-Id: I29ade95dba449659fe46008bb1af502276a7c5fd Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-27128-bit SIMD version of vlib_get_buffersDamjan Marion2-0/+44
Change-Id: I1a28ddf535c80ecf4ba4bf31659ff2fead1d8a64 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-27mips64: Add timer and longjump supportCarl Smith4-6/+92
Also correct types.h for mips64 which could never be hit as _mips was part of the previous ifdef. Change-Id: Id0435c8fc960c5d25c43129b9d9f1606e39ba8e3 Signed-off-by: Carl Smith <carl.smith@alliedtelesis.co.nz>
2018-07-27vector indicies walk in reverseNeale Ranns1-0/+4
Change-Id: Iddc8a940601230f8b209c5601e4e5bd04b103c6a Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-27Fix memory leak in processing of ICMPv6 RA event (VPP-1360)Juraj Sloboda1-1/+2
Change-Id: I7c3e5e91391b1c9b36e8ea8bacee9a107da1ae96 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2018-07-27-DCLIB_DEBUG => turn on extra checks in dlmallocDave Barach2-2/+26
Also: call os_panic() on a heap botch crash, attempt to generate a post-mortem API dump, etc. Add an "ugly" test case to vec_test.c, to cause a configurable block overrun. Change-Id: I7b29a7645277f9e485e06ff83335306fedc24b71 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-26pp2: change default queue sizeBrian Brooks1-2/+2
Reduce default queue size to twice the vlib frame size. This throttles the PP from transferring more packets than are necessary for the next round of graph execution on a core. When combined with DMA'ing into L3 cache, Mpps for 64B packets increases 35%. Change-Id: I0afe426d23560f262fdc56accb6302b099bd0076 Signed-off-by: Brian Brooks <brian.brooks@arm.com>
2018-07-26Clean up dpdk plugin rx/tx pcap tracingDave Barach4-32/+32
Needed a spinlock to protect the data vector. Cleaned up debug cli so the output makes sense, and so that various parameters exist in one place. Removed a nonsense memset-to-zero which led to ultra-confusing results. Change-Id: I91cd14ce7fe84fd2eceab86e016b5ee001993be4 Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-07-26Improve the sample plugin node dispatch functionDave Barach1-128/+473
Three separate implementations, which vary by nearly a factor of two in performance. Most of the performance difference is due to swapping the src/dst mac addresses with an avx2 vector shuffle instruction. Change-Id: Ieb36546d6074e4ac720d452a99d013c698135c57 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-26VPP-API client: timeout thread loop variableNeale Ranns1-2/+5
calling thread cancel on the timeout thread whilst it was sleep on condwait and then send the cond signal did not reliably wake up the thread. instead don;t cancel the thread, use a loop variable to terminate it. Change-Id: Ibc8ab6f21db7e4a98266bdf88b8b208b887820dd Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-26VPP-1359 Wrong vl_msg_idLukasz Majczak1-1/+1
Wrong vl_msg_id set in vl_api_stats_get_poller_delay_t_handler while reporting stats delay. Change-Id: I7d6ad14359e41c717b976390c58e254e3602e0ff Signed-off-by: Lukasz Majczak <lma@semihalf.com>
2018-07-26avf: used tx queue should be enabledDamjan Marion2-2/+8
Change-Id: I51cc4522df2dd6682148a13e7e1903850b4b3d08 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26vppinfra: add SSE4.2 version of u8x16_shuffleDamjan Marion1-0/+6
Change-Id: I4bf1cfe5a9492092a7362675079c47629b6f0ee8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-26avf: request queues supportJakub Grajciar3-3/+68
Change-Id: I3a4529ff8dae70da99ec95c39ddf788c9498f478 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-26L2 Flood: use the buffer clone API rather than buffer recycleNeale Ranns1-260/+168
Change-Id: I40e4efd8061369efc535f0d49b2f63668b6d1d15 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-07-26avf: fix interrupt modeDamjan Marion2-2/+25
- assign rx thread on interface create, not on admin up - keep interrupts unmasked all the time as they are needed for writeback - forward interrupt to graph dispatcher only if queue is in the interrupt mode Change-Id: I5cc5afe24960143bef08f12d59fbd80ae0c6ccf8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-25Generate vppinfra/config.h from config.in script (same as we do for ↵Neale Ranns3-11/+24
vlib/config.h) Change-Id: I55549b589e34a62d3704f788fce801392de22f46 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-25VPP-1332 memif: add/del socket filename bugfixJakub Grajciar1-1/+27
in case of relative path, create subdirs inside runtime dir. in case of absolute path, if folder does not exist return error. Change-Id: I01fe018102c69deb105160cfa18b741541d76c82 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-25avf: api fixJakub Grajciar4-7/+25
avf_create_reply returns software index for the new interface Change-Id: I8a6b1a1985b072efafa24eb258b1f2cb1bea1110 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2018-07-24Create a unit-test pluginDave Barach9-31/+608
Move the tcp unit test to the plugin Add a bihash unit test and a "make test" program to call it Adjust framework.py to load the plugin, which is disabled by default Change-Id: Ic229d386a56a9d28dbd54974f231149053ca8f93 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-23tls: avoid possible async handler duplicationPing Yu1-1/+1
One handler is good enough when engine sends out a retry status Thus this patch will just go one branch Change-Id: Id81cb3fa67d2b322b0fe1b2f62cd866cf3491eb4 Signed-off-by: Ping Yu <ping.yu@intel.com>
2018-07-23session: send rx events only if session readyFlorin Coras3-2/+15
Change-Id: I8d631121b104fb40c20701d4c1b428f2b71e5785 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-07-23L2 EFP: byteswap sw_if_index, enable flag can be u8 on .apiNeale Ranns3-4/+7
Change-Id: Ib99d02e84e468726feae4c386733da405b298e4f Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-23NAT44: fix forwarding feature bug (VPP-1349)Matus Fabian1-3/+3
Change-Id: I5009fcfde5c627d59dea3edda15486b9392134a2 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-07-23Buffer clone: copy opaque2Neale Ranns1-0/+2
Change-Id: I06e1dbfa0782bc03f2d0e77295b38b4fde7df35e Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-07-23Update pipeline.h: use vlib_get_buffersDave Barach3-329/+215
It's not clear that fine-graind pipelining will ever produce optimal performance. That having been written, it's an easier coding model for folks interesting in decent results without having to manually implement 2 or 4 way fine-grained parallelism. Change-Id: Ida877292832eaf759ffbb6d2e16012f8fbd427e5 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-23fix vector index range checksEyal Bari12-20/+15
Change-Id: I63c36644c9d93f2c3ec6606ca0205b407499de4e Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-07-21Loopback tx: support multiple tx intfcs per frameDave Barach1-153/+197
Can happen if code bypasses the per-interface output node, and dispatches packets directly to the tx node. Switch to vlib_get_buffers(...) ... vlib_buffer_enqueue_to_next (...), quad/single loop coding pattern. Change-Id: Ic0e5d3b9748230f4e545a54186e6e64e7a782bb1 Signed-off-by: Dave Barach <dave@barachs.net>
2018-07-21fix IP directed broadcast node declarationsMatthew Smith2-2/+2
The dev build ('make build') was failing because ip4_rewrite_bcast() and ip6_rewrite_bcast() are declared static and were not referenced. The node functions that were set for directed broadcast rewrite: ip4_rewrite_bcast_node - ip4_rewrite() ip6_rewrite_bcast_node - ip6_rewrite() Changed to: ip4_rewrite_bcast_node - ip4_rewrite_bcast() ip6_rewrite_bcast_node - ip6_rewrite_bcast() The release build ('make build-release') succeeds because there is a VLIB_NODE_FUNCTION_MULTIARCH() call referencing the function. That macro is empty for dev builds. Change-Id: I2a05f00ca43d0eae8ff2e3026991e69917003fe1 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-07-20bihash: give hint to CPU that we are spinlockingDamjan Marion2-4/+6
Change-Id: I78c0a6da5d8fc63c1ced43589c42abc15ab12b16 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-20Add congestion drop in interface handoffDamjan Marion4-24/+84
This prevents deadlock in case when worker A sends to B and worker B sends to A Change-Id: Id9436960f932c58325fe4f5ef8ec67b50031aeda Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-07-20Fine-grained add / delete lockingDave Barach9-354/+234
Add a bucket-level lock bit. Use a spinlock only when actually allocating, freeing, or splitting a bucket. Should improve multi-thread add/del performance. Change-Id: I3e40e2a8371685457f340d6584dea14e3207f2b0 Signed-off-by: Dave Barach <dave@barachs.net>