summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-04-16svm_fifo rework to avoid contention on cursizeSirshak Das22-315/+462
Problems Addressed: - Contention of cursize by producer and consumer. - Reduce the no of modulo operations. Changes: - Synchronization between producer and consumer changed from cursize to head and tail indexes Implications: reduces the usable size of fifo by 1. - Using weaker memory ordering C++11 atomics to access head and tail based on producer and consumer role. - Head and tail indexes are unsigned 32 bit integers. Additions and subtraction on them are implicit 32 bit Modulo operation. - Adding weaker memory ordering variants of max_enq, max_deq, is_empty and is_full Using them appropriately in all places. Perfomance improvement (iperf3 via Hoststack): iperf3 Server: Marvell ThunderX2(AArch64) - iperf3 Client: Skylake(x86) ~6%(256 rxd/txd) - ~11%(2048 rxd/txd) Change-Id: I1d484e000e437430fdd5a819657d1c6b62443018 Signed-off-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
2019-04-16QUIC: Initial multi stream supportAloys Augustin3-302/+460
To connect a stream, apps should call connect while passing the id of the QUIC connection in the new transport_opts field in session_endpoint_cfg_t. Apps are notified of new streams with their accept callback, which is called each time a peer opens a stream. Change-Id: I0f82ec344db58008d54641553eddec2973768435 Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-04-16Allow sessions to be allocated in app's RX callbacksAloys Augustin1-3/+11
This enables applications to create sessions in their RX callbacks, which can invalidate the session pointer. This is required for the QUIC protocol implementation. Change-Id: I6072c1c368fd9d17a960ec086a788089dd6f54b4 Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2019-04-16stats: Add name vectors to Python clientOle Troan4-47/+81
Change-Id: Ic62dfa0bf3e082a0b999026830c64a9c543da586 Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-16IPSEC: support GCM in ESPNeale Ranns18-48/+349
Change-Id: Id2ddb77b4ec3dd543d6e638bc882923f2bac011d Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-16Add direct packets to specific flow action in dpdk flowSimon Zhang2-4/+17
Change-Id: I48cd8052f9509efdf13f64ab279edb66a2d4a0a9 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-04-16VPP-1576: nsim-plugin coverity issuesDave Barach1-2/+19
Change-Id: I832e780b00955e01871874544f3d0afc553b75f7 Signed-off-by: Dave Barach <dave@barachs.net>
2019-04-16vppinfra: add basic rbtreeFlorin Coras5-0/+700
Algorithm from CLRS, Introduction to Algorithms 3rd Edition, Ch. 13 Change-Id: I5bc2c507593770939cd5584f21dacf36ebd2b4c1 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-16flow: add rte_flow check before creating by rte_flow_validateSimon Zhang1-0/+14
Change-Id: Idfcf1644952d647c6e1b61216d9b365d58b77814 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-04-16IPSEC-GRE: return correct API codeNeale Ranns1-1/+1
Change-Id: I4f72989885ecfc6a0b27553194c6611fd71f7e5b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-16vpp-1647: fix typo in pcap_trace_command_internalDave Barach1-1/+1
pcap rx trace on max 100 intfc tap0 then pcap rx trace status Displays "local0" instead of "tap0" due to a typo in pcap_trace_command_internal(...). Change-Id: Id2de6a24174aac24d9051b7404f01edc806a6573 Signed-off-by: Dave Barach <dave@barachs.net>
2019-04-16API: Handle pthread cond signal case where signal is missed.Ole Troan2-3/+10
Especially on a single core setup the RX thread could signal the main thread that it was done, before main thread listened to the signal. Change-Id: Ib70337b21bcf77787ce4ee0aa9cf80c6da2215af Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-15vppinfra: add SHA-2 family of hash algorithms (including HMAC)Damjan Marion3-0/+647
Change-Id: I54d6fb1a2721b548620eb66cea254d0103deca32 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-15tap: fix the crashMohsin Kazmi1-0/+3
Crash will happen when someone will try to setup a tap interface in host namespace without providing the host side of tap interface custom name. This patch fixes the problem by using the default name in this case. Change-Id: Ic1eaea5abd01bc6c766d0e0fcacae29ab7a7ec45 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-04-15crypto: fix coverity warningsFilip Tehlar2-2/+7
Change-Id: Id9dfd912517c44cf812953bd05ac04c9e172a2b7 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-15crypto: openssl - IV len not passed by caller. Callee knows from algo typeNeale Ranns1-2/+2
Change-Id: Ib80e9bfb19a79e1adc79aef90371a15954daa993 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-15crypto-openssl-gcm: account for failed decryptsNeale Ranns1-3/+6
Change-Id: I749c5a9d58128fd6d0fb8284e56b8f89cf91c609 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-15IPSEC: crypto overflowNeale Ranns1-1/+1
decrypting too many bytes. Change-Id: I4663e70271d9734eda7f9a127967b9224c0e5efc Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-14ip4: don't format upper layer if it's a fragmentfaicker.mo1-0/+3
Parsing ipv4 upper layer is not meaningful if it's a fragment packet except the first. Change-Id: I442fb7ec01244fde8c4f7656a8ba633d0aa0f97e Signed-off-by: Faicker Mo <faicker.mo@ucloud.cn>
2019-04-14crypto: add support for AES-CTR cipherfituldo4-3/+126
Change-Id: I7d84bab7768421ed37813702c0413e52167f41ab Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-12vppinfra: AVX-512 transpose (u32x16 and u64x8)Damjan Marion1-0/+126
Change-Id: Iefe9d20799a6f5f271aa5b675ea2b19ac3efbe1e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-04-12Trivial: Update doxygen comments.Paul Vinciguerra1-3/+10
Change-Id: I2f7f3898b913c9b1a37b1c8c84a8df3799c49c5d Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-12session: drop lock on segment allocation errorFlorin Coras1-12/+9
Change-Id: Ib346570daa3e40f4f53100a05e9355ce60d533a4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-12stats: Off by one error in stats directory vector.Ole Troan1-1/+1
Change-Id: Ic75af8bbd52c8a08e34ff2a847f60be5479b814b Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-11Adding check to ensure acl_id matches existing acl_id in abf_policy_updateParixit Gokhale3-9/+23
Change-Id: Ia86387ca5a52d6b4b9e5aff0c01c92df13a5dde5 Signed-off-by: Parixit Gokhale <pgokhale@cisco.com>
2019-04-11IPSEC: ESP with ESN tests and fixesNeale Ranns4-27/+37
Change-Id: Ie42b26e6d5cdb7b23f370ea2933c65079e8d1089 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-11crypto: add more AES-GCM test casesFilip Tehlar2-3/+313
Change-Id: Ibb3e2f3ba5f31482fc2f0dce53d68f8476608f4b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-11IPSEC-MB: Use random & non-repeating IV (VPP-1642)Neale Ranns7-23/+65
hard code IV and key lengths based on cipher. Init IV from random data, use AES instruction to rotate. Change-Id: I13a6507d12267b823c528660a903787baeba47a0 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-11vppinfra: fix the issue that mheap_get_trace record wrong pointerWei CHEN1-1/+1
when mspace_get_aligned try to malloc a chunk with align greater than 16 Change-Id: Ic3b91fc9532248482662f019bbfa073da18645ed Signed-off-by: Wei CHEN <weichen@astri.org>
2019-04-11Stats: Spelling mistake: s/tx-unicast-miss/tx-unicast/Ole Troan1-1/+1
Change-Id: Ie71235e5a0ff84222d8a35f5d4e99e9b20447d61 Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-11crypto: add performace test to unittest pluginDamjan Marion4-1/+219
Change-Id: I49c710c5ace24a4c1f083120fd4c2972566a1695 Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-04-11Tests: Refactor tearDown show command logging, add lifecycle markers.Paul Vinciguerra35-204/+278
This change adds a consistent interface for adding test-specific show commands to log.txt. It also adds log markers for the execution of setUp[Class], tearDown[Class] in the logs. Change-Id: I7d42e396e594a59e866a7d55dac0af25548e657a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-11Make the loss / delay sim available as an output featureDave Barach7-149/+654
Add binary api and debug cli support. Rewrite for speed: enqueue vlib_buffer_t's to the wheel, instead of memcpy'ing data. Quad-loop the output feature / x-connect (interior) node. Prefetch wheel entries in the input node. Save packet-generator-based unit-test setup in extras/nsim. Simple config example: set nsim delay 20 ms bandwidth 1 gbit packet-size 1024 nsim output-feature enable-disable GigabitEthernet3/0/0 Change-Id: I852a32d4eb596e7e2aa1d9b30bf3b53525e39fd1 Signed-off-by: Dave Barach <dave@barachs.net>c
2019-04-10udp: fix copyright typoFlorin Coras1-1/+1
Change-Id: I74a61e941176321da0767affff0fb023f4c54c35 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-10Initial 19.08-rc0 commitv19.08-rc0Dave Wallace1-0/+10
- Add 19.08 Release notes placeholder. Change-Id: Ide5978b584e608298c37a15175360c4b16c46f30 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10make test: fix redundant setUp() in template_ipsec.pyDave Wallace1-3/+0
Change-Id: I81b3888816b064bd6bf0f38f5380dae93d7bb349 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10cmake: fix errors in external when building past point-releaseAndrew Yourtchenko1-1/+1
Change-Id: I23b4816e4ef2c6a2fa825fbd063ea25ff2024151 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-04-10crypto: Intel IPSEC-MB engineNeale Ranns6-43/+478
A plugin to use Intel IPSec MB library as a VPP crypto engine This changes uses concepts from: https://gerrit.fd.io/r/#/c/17301/ hence that author's work is acknowledge below Change-Id: I2bf3beeb10f3c9706fa5efbdc9bc023e310f5a92 Signed-off-by: Neale Ranns <nranns@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-04-10ethernet: fix packet tracingBenoît Ganne1-1/+1
Node tracing condition was wrongly reversed by commit "5ecd5a5d15 Move pcap rx/tx trace code out of the dpdk plugin". This prevented packet tracing in ethernet-input node and also impacted performance in the no tracing case. Change-Id: I345a11191d027c6c4ec474a2901995338050680a Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-10make test: Initial QUIC testDave Wallace1-0/+89
- QUIC echo client/server transfer test Change-Id: I69874975c9789fe9b4e85c5993bf09b7255d87d0 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-10IPSEC: for each engine and algorithm testsNeale Ranns4-409/+601
refactor the IPSEC tests a bit so we can parameterise the setup. Change-Id: I777e5eb8f29ca1dce3dd273ebd05dae5846790af Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-10session: binary api app names as vectorsFlorin Coras1-2/+2
Change-Id: Iae358365de8ccbc0441b14f21ba6b365cbfec09a Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-10Tests Cleanup: Fix missing calls to setUpClass/tearDownClass.Paul Vinciguerra68-3/+814
Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/ Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-10API: Fix shared memory only action handlers.Ole Troan18-410/+194
Some API action handlers called vl_msg_ai_send_shmem() directly. That breaks Unix domain socket API transport. A couple (bond / vhost) also tried to send a sw_interface_event directly, but did not send the message to all that had registred interest. That scheme never worked correctly. Refactored and improved the interface event code. Change-Id: Idb90edfd8703c6ae593b36b4eeb4d3ed7da5c808 Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-10quic: add dummy accepted cbFlorin Coras2-2/+9
Add dummy function to avoid session layer warning. Also, decrease default debug level to avoid startup quic init notifications. Change-Id: I2964fc15a8d93d78c976ed7c333e0cc5746c069e Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-04-10IPSEC: remove double byte swap of IP addressesNeale Ranns1-18/+10
Change-Id: I8c03c4aa90fb0056e11e0f234999c25d7839d759 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-04-10Make tcp/udp/icmp compute checksum safer for buffer-chain caseJohn Lo2-2/+2
Change-Id: I046e481a67fbeffdaa8504c8d77d232b986a61ee Signed-off-by: John Lo <loj@cisco.com>
2019-04-09rdma: add multiqueue supportBenoît Ganne4-76/+170
Add support for multiqueue for RDMA devices. Change-Id: I78a2481cec6747494c670cc776475828be3af55b Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-09rdma-core: add debug build optionBenoît Ganne1-1/+8
Add option RDMA_CORE_DEBUG=[yn] build option. rdma-core package is built in Release (-O2) mode by default, but Debug (-O0 -g) mode can be selected by eg. make install-ext-deps RDMA_CORE_DEBUG=y Change-Id: Id4db5ef1e7b13c44d478755a0bfbdbe56cfc13df Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-04-09session: fix session flagsFlorin Coras2-5/+2
Change-Id: I681169b82c661b7f0bf19f09d07d76ac1d3ed173 Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Florin Coras <fcoras@cisco.com>